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
50

at_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
30

at_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
20

ceil

The input number, rounded up to the next integer. (Remember, a NumberValue is a decimal internally.)

{{ 10.23 | ceil }}
11

divided_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
3

To get a decimal back (a non-rounded result), you need to pass in a decimal.

{{ 10 | divided_by:3.0 }}
3.3333333333333333333333333333

floor

Reduces a decimal to the nearest smaller integer. (Note that NumberValue still wraps a decimal internally.)

{{ 3.3 | floor }}
3

minus

Subtracts the first argument from the input.

{{ 10 | minus:5 }}
{{ 10.1 | minus:5.3 }}
5
4.8

modulo

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.4

round

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.62

times

Multiples the input by the first argument.

{{ 1.5 | times:2.5 }}
3.75

This is item #4 in a sequence of 5 items.

You can use your left/right arrow keys to navigate