In general, XpressDox handles calculations in an obvious way. For example, the fillpoint «FormatNumber(Amount * 1.1)»
will show the Amount data element plus 10%. Or «FormatNumber(Amount1 + Amount2,'#')»
will show the sum of Amount1 and Amount2.
But «FormatNumber(Amount1+AnotherAmount-Amount2)»
will in all likelihood show ‘ “N” is not a valid digit’. The problem is that the minus sign (or, in XML a “Dash”) is a valid symbol in an element name, and so AnotherAmount-Amount2 is actually a data element name (and not AnotherAmount less Amount2), and will (probably) have no value, and so the XML processor will not know how to add its value to Amount1 and so will return “NaN” (Not a Number) for its value.
A good rule, then is to put a space around ALL the arithmetic operators (i.e. around +
-
*
and div
).
Note also that /
is NOT the symbol for division: div
is the symbol for division. Thus, to divide a number in half, the code would be:
The half-price sale value is $
«FormatNumber(Price div 2)»
More information and examples of calculations are in the recipes Using variables , Performing calculations and also Why do my calculations not work? (Part 2)