Operators in Windows Forms Calculation Engine (Calculate)
3 Sep 2020 / 2 minutes to read
The calculation type of an equation will be specified by operators. These operators will be prioritized
in a default order for calculating the equation.
The mathematical operations such as addition, subtraction, multiplication etc., can be performed using the arithmetic operators.
|+ (plus sign)||Addition||1 + 2|
|- (minus sign - unary)||Negation||- 5|
|- (minus sign - binary)||Subtraction||4 - 2|
|* (asterisk)||Multiplication||2 * 5|
|/ (forward slash)||Division||10 / 2|
|^ (caret)||Exponentiation||5 ^ 2|
The logical or comparison operators will be used to compare two values of the formula. The return value will be either
If you use a well-formed logical expression in a larger calculation, True evaluates to numerical 1 and False evaluates to numerical 0 for use in the calculations.
|< (less than sign)||Less than||5 < A2|
|> (greater than sign)||Greater than||A1 > A2|
|= (Equal sign)||Equal to||A1 = 4|
|<= (Less than or equal)||Less than or equal||A3 <= (A4 + 2)|
|>= (Greater than or equal)||Greater than or equal||B1 >= 30|
|<>(Not equal)||Not equal||C2 <>10|
Text concatenation operator (Binary literal operator)
Two or more text strings can be concatenated into one text using this operator.
|& (ampersand)||Concatenation||“Hello” & “World”|
All operations are subjected to the following hierarchy of operations. The level 1 operations are done first, followed by level 2, and so on. Within the same level, the operations are performed from
left to right in the order where they are encountered during the parsing of the formula.
< >= <= >= <>
- & (Concatenation)
When the default operators’ precedence need to be changed, then the parentheses will be used to explicitly indicate the operation order.
Examples for Operator precedence
|= 6 / 2 + 1||4|
|= 6 / (2 + 1)||2|
|= 2 + 4 / 2||4|
|= (2 + 4) / 2||3|
Equal Sign, the Formula Character
To indicate that a particular string should be treated as a formula, user must start the string with a special character,
FormulaCharacter(“=”). This property is static, so you can change the formula character within your code.
It’s default value is the equal sign, (=).
In general, in order for Essential Calculate to recognize a string as containing a formula; the string is required to start with the FormulaCharacter.
There is one exception though, if you explicitly call a CalcEngine Parse method like
ParseAndComputeFormula, including the formula character as the first character in the passed string, is optional.
Square Brackets, indexers in CalcQuickBase class
If you are using a CalcQuickBase object to add calculation support to your business object, then you must use strings as indexers on the
CalcQuickBase instance to get and set values.
To register the strings in
CalcQuickBase, it must be enclosed within square brackets “[ ]”. Eg. [A]. These registered variable names are indexer keys.
CalcQuickBase calcQuick = new CalcQuickBase(); calcQuick["A"] = "5"; calcQuick["B"] = "6"; calcQuick["C"] = "11";