
Operators
Arithmetic operators
The following is the arithmetic operators defined in Macro Expert.
Operator 
Description 
Example 
+ 
Adds two numbers. 
%=100 + 120% 
 
Returns the difference between two numeric expressions. 
%=100  v_b% 
* 
Multiplies two numbers. 
%=20 * v_b% 
/ 
Divides two numbers. 
%=20 / v_b% 
MOD
or \ 
Divides two numbers and returns only the remainder. 
%=v_b \ 10% 
INT 
Divides two numbers and returns an integer result. 
%=25 INT 10% 
POW 
Return the result of a number raised to a power (exponent). 
%=2 POW 3% 
Comparison Operators
The following are the arithmetic operators defined in Macro Expert.
Operator 
Description 
Example 
> 
Greater than 
%=v_a > 10% 
>= 
Greater than or equal to 
%=v_a >= 10% 
< 
Less than 
%=v_a < 10% 
<= 
Less than or equal to 
%=v_a <= 10% 
!= 
Not equal to 
%=v_a != 10% 
!== 
For string only, not exactly equal to 
%=v_a !=='Macro'% 
= or == 
Equal to (caseinsensitive for string comparison) 
%=v_a == 10% 
=== 
Exactly equal to 
%=v_b === "Hello" % 
^= 
For string only, return TRUE if the string starts with a given string. The comparing is caseinsensitive. 
%=v_b ^= "Hel" % 
^== 
For string only, return TRUE if the string starts exactly with a given string. 
%=v_b ^= "Hel" % 
$= 
For string only, return TRUE if the string ends with a given string. The comparing is caseinsensitive. 
%=v_b $= "llo" % 
$== 
For string only, return TRUE if the string ends exactly with a given string. 
%=v_b $= "llo" % 
LIKE 
For string only, return TRUE if the value on the left matches the right pattern. A pattern can include regular characters and wildcard characters 
%=v_b LIKE "He*o" % 
LIKENC 
For string only, with no case sensitive, return TRUE if the value on the left matches the right pattern. A pattern can include regular characters and wildcard characters. 
%=v_b LIKENC "He*o" % 
CONTAINS
or CT 
For string only, return True if the string on the left contains a string. 
%=v_b CT "Hello" % 
CONTAINSNC
or CTNC 
For string only, with no case sensitive, return True if the string on the left contains contains string. 
%=v_b CTNC "Hello" % 
Logical Operators
The following are the arithmetic operators defined in Macro Expert.
Operator 
Description 
Example 
AND 
Performs a logical conjunction on two Boolean expressions. 
%=v_a and v_b% 
OR 
Performs a logical disjunction on two Boolean expressions. 
%=v_a or v_b% 
XOR 
Performs a logical exclusion on two Boolean expressions. 
%=v_a xor v_b% 
NOT 
Performs logical negation on a Boolean expression. 
%=not (v_a > v_b)% 
Bitwise Operators
The following are the bitwise operators defined in Macro Expert.
Operator 
Description 
Example 
& 
Performs a logical bitwise AND on two integer expressions. 
%=v_a & v_b% 
 
Performs a logical bitwise OR on two integer expressions. 
%=v_a  v_b% 
^ 
Performs a logical bitwise XOR on two integer expressions. 
%=v_a ^ v_b% 
~ 
Performs a logical bitwise NOT on an integer expressions. 
%= ~v_a% 
Operator Precedence
When expressions contain operators from more than one category, they are evaluated according to the following rules:

The arithmetic operators have the order of precedence described in Precedence Order, and all have greater precedence than the comparison, logical, and bitwise operators.

All comparison operators have equal precedence, and all have greater precedence than the logical and bitwise operators, but lower precedence than the arithmetic operators.

The logical and bitwise operators have the order of precedence described in the Precedence Order, and all have lower precedence than the arithmetic, comparison operators.

Operators with equal precedence are evaluated left to right in the order in which they appear in the expression.
Precedence Order
Operators are evaluated in the following order of precedence:
 Logical bitwise NOT (~) and logical conditional negation (NOT)
 Exponentiation (POW)
 Multiplication and division (*, /)
 Integer division (INT)
 Modulus arithmetic (MOD)
 Addition and subtraction (+, )
 Comparison operators (>, >=, <, <=, LIKE, LIKENC, CONTAINS, CONTAINSNC)
 Equality and inequality (==, ===, !=, !==, ^=, ^==, $=, $==)
 Logical bitwise conjunction (&)
 Logical bitwise exclusive disjunction (^)
 Logical bitwise inclusive disjunction ()
 Logical conditional conjunction (AND)
 Logical conditional exclusive disjunction (XOR)
 Logical conditional inclusive disjunction (OR)
Overriding Precedence
You can use parentheses to force some parts of an expression to be evaluated before others. The following example illustrates this.
%= (8 + 4 ) * 20%
%= 8 * ( ( 20 + 4 ) * 20 )+4%
Additional References
