Number functions
Last updated
Last updated
FlowScript supports algebraic expressions using common mathematical operators and parenthesized expressions. For example, the expression:
...will print out as the value of variable x plus one (provided the variable x has a content which can be interpreted as a number).
Numeric literals (e.g. the 1 in the expression {x + 1}
) can be positive or negative, integer or decimal. For decimals, always use the dot character, e.g. 1.5, whether or not your Flow environment is used in a language/region where the comma is used as decimal separator. Note, however, that the numeric content of variables (as opposed to literals) is interpreted less restrictively; both the comma and the period can be used as a decimal separator. This ensures that Flow works with user-input values in regions using a decimal comma (such as Scandinavia) as well as regions using a decimal point (such as the US).
The following listing contains all the algebraic operators available in FlowScript.
Plus (+)
Adds two numbers. If the left side value (L) is a date and the right side value (R) is a number, the expression returns a new date representing L with R number of days added.
Minus (-)
Subtracts two numbers. If the left side value (L) is a date and the right side value (R) is a number, the expression returns a new date representing L with R number of days subtracted.
Multiplication and Division (* /)
Multiplies or divides two numbers.
Function
Description
Example Expression
Example Result
Min(a, b)
Returns the lesser of a and b
Min(1, 2)
1
Max(a, b)
Returns the greater of a and b
Max(1, 2)
2
Ceil(x)
Returns the value of x rounded up to the nearest integer
Ceil(1.2)
2
Floor(x)
Returns the value of x rounded down to the nearest integer
Floor(1.5)
1
Round(x)
Returns the value of x rounded to the nearest integer
Round(1.8)
2
Pow(x,y)
Returns the result of x raising to the power y.
Pow(8,3)
"512"
Format(x, pattern)
Formats x as a string, using the given pattern. See Formats
Format(0.33333333, "F")
"0.33"
Str(x)
Changes the numeric variable x into a string value. This is rarely necessary as Flow automatically coerces numeric values into string value.
Str(7)
"7"
Val(x)
Changes the string variable x into a numeric value. This is rarely necessary as Flow automatically coerces string values into numeric value.
Val(7)
"7"
IsNumber(x)
Returns a value indicating whether 'x' is a number.
IsNumber("hello")
false
IsNaN(x)
Returns a value indicating whether 'x' is a "not a number" value (usually originating in a null value from a database)
IsNumber(myRecord.x)
N/A
Expression
Result
a + b
If a is a number, the sum of variables a and b; if a is a date, a new date representing a plus b days.
now() + 1
A date variable representing tomorrow.
Expression
Result
a - b
If a is a number, the difference between variables a and b; if a is a date, a new date representing a minus b days.
now() - 1
A date variable representing yesterday.
Expression
Result
a * b
a multiplied by b
a * 1.5 * b
a multiplied by 1.5 multiplied by b
a / 10
a divided by 10