Response Templating - Number Helpers
Working with numbers
Math helper
The math
helper performs common arithmetic operations. It can accept integers, decimals
or strings as its operands and will always yield a number as its output rather than a string.
Addition, subtraction, multiplication, division and remainder (mod) are supported.
Formatting numbers
The numberFormat
helper allows you to specify how numbers are printed. It supports
a number of predefined formats, custom format strings and various other options
including rounding mode, decimal places and locale.
Predefined formats
numberFormat
supports the following predefined formats:
integer
currency
percent
Predefined formats can be affected by locale, so it’s usually a good idea to explicitly specify this.
For example, to format a decimal number as currency, specifically British pounds:
Output: £123.46
.
Alternatively, if we wanted to output the number as a percentage:
Output: 12,346%
.
Custom format string
For maximum control over the number format you can specify a format string:
Output: 123.456700
.
See the Java DecimalFormat documentation for details on how to use format strings.
Configuring number of digits
Separate from the format parameter, the number of digits before and after the
decimal place can be bounded using one or more of four parameters:
maximumFractionDigits
, minimumFractionDigits
, maximumIntegerDigits
, minimumIntegerDigits
.
Output: 234.567000
.
Disabling grouping
By default numberFormat
will insert commas, periods etc. per the locale between
groups of digits e.g. 1,234.5
.
This behaviour can be disabled with groupingUsed
.
Output: 12345.678
.
Rounding mode
The roundingMode
parameter affects how numbers will be rounded up or down when
it’s necessary to do so.
For instance, to always round down:
Output: 1.23
.
Available rounding modes are:
up
down
half_up
half_down
half_even
ceiling
floor
.
See the Java RoundingMode documentation for the exact meaning of each of these.