Number Filters
These are provided in the default filters. Specifically, when TemplateOptions is constructed, these are added via the extension method WithNumberFilters.
abs
Returns the absolute value – the distance from zero – for the input number.
{{ -50 | abs }}
{{ 50 | abs }}
50
50at_least
Returns the greater of the input and first argument.
The exact opposite of at_most.
{{ 10 | at_least:20 }}
{{ 30 | at_least:20 }}
20
30at_most
Returns the lesser of the input and first argument.
The exact opposite of at_least.
{{ 10 | at_most:20 }}
{{ 30 | at_most:20 }}
10
20ceil
The input number, rounded up to the next integer.
(Remember, a NumberValue is a decimal internally.)
{{ 10.23 | ceil }}
11divided_by
Divides the input by the argument.
If the argument is an integer, the result is reduced to the nearest integer. (This is a duplicated quirk of the original Liquid.)
{{ 10 | divided_by:2 }}
{{ 10 | divided_by:3 }}
5
3To get a decimal back (a non-rounded result), you need to pass in a decimal.
{{ 10 | divided_by:3.0 }}
3.3333333333333333333333333333floor
Reduces a decimal to the nearest smaller integer.
(Note that NumberValue still wraps a decimal internally.)
{{ 3.3 | floor }}
3minus
Subtracts the first argument from the input.
{{ 10 | minus:5 }}
{{ 10.1 | minus:5.3 }}
5
4.8modulo
Divides the input by the first argument and returns the remainder.
Both the input and the argument have to be integers (this isn’t a Liquid rule, this is a math rule).
They will be converted to integers via Convert.ToInt32, so if you attempt to perform the operation on a decimal argument that converts to zero, you will get a “Attempted to divide by zero” error.
{{ 10 | modulo:3 }}
1(If you think you’ll be checking for multiples often, there’s an example of a custom ismultipleof operator in the chapter on conditionals).
plus
Adds the input and the argument.
{{ 10.1 | plus:5.3 }}
15.4round
Rounds the input. Values at .5 round up.
Takes an optional parameter for the number of decimal places.
Defaults to 0.
{{ 1.1 | round }}
{{ 1.49 | round }}
{{ 1.5 | round }}
{{ 1.617 | round:2 }}
1
1
2
1.62times
Multiples the input by the first argument.
{{ 1.5 | times:2.5 }}
3.75