Operator Precedence
If you use more than one operator in a formula, the order in which they are evaluated depends on their relative precedence (higher precedence operators are evaluated first). For example, multiplication (*) has a higher precedence than addition (+ ), so that the formula below evaluates to 14, not 20:
-
<$2 + 3 * 4$>
You can use parentheses to override the default precedence. The formula below evaluates to 20:
-
<$(2 + 3) * 4$>
For a complete list of operators and their relative precedence, see “Operator Precedence” in Chapter 3 of the eServices 8.1 Reference Manual.
Data Types
Operands of several different types may appear in formulas:
-
Number
-
String (text)
-
Date/time
-
Boolean (true/false)
-
Object (Contact, Interaction, and Agent)
Each data type behaves differently in formulas, and the operators have different meanings when you use them with different data types. For example, the + operator means “add” when used with numbers, but “concatenate” (paste together) when used with strings. This formula evaluates to Uncle Sam Wants You
-
<$"Uncle Sam " + "Wants You"$>
In addition, some operators cannot be used with some data types at all. For example, you cannot use the multiplication (*
) operator on two strings.
All formulas, regardless of their final data type, are converted to strings before being merged into your standard response. This conversion follows a set of default rules that depend on the data type. For example, the default rules for numbers round them off to integers. This formula causes 2 to be inserted into your standard response, even though the real result is 2.25:
-
<$9 / 4$>
You can use the Text function (see below) or format operator:) to override the default formatting. Either of the following formulas inserts 2.25 into your standard response:
-
<$Text(9 / 4, "#.##")$>
-
<$(9 / 4):"#.##"$>
For a detailed list of data types and how you can use them, see “Data Types” in the eServices 8.1 Reference Manual.