number_format
The number_format
filter formats numbers. It is a wrapper around PHP's
number_format function:
1
{{ 200.35|number_format }}
You can control the number of decimal places, decimal point, and thousands separator using the additional arguments:
1
{{ 9800.333|number_format(2, '.', ',') }}
To format negative numbers or math calculation, wrap the previous statement with parentheses (needed because of Twig's precedence of operators):
1 2 3 4
{{ -9800.333|number_format(2, '.', ',') }} {# outputs : -9 #}
{{ (-9800.333)|number_format(2, '.', ',') }} {# outputs : -9,800.33 #}
{{ 1 + 0.2|number_format(2) }} {# outputs : 1.2 #}
{{ (1 + 0.2)|number_format(2) }} {# outputs : 1.20 #}
If no formatting options are provided then Twig will use the default formatting options of:
- 0 decimal places.
.
as the decimal point.,
as the thousands separator.
These defaults can be changed through the core extension:
1 2
$twig = new \Twig\Environment($loader);
$twig->getExtension(\Twig\Extension\CoreExtension::class)->setNumberFormat(3, '.', ',');
The defaults set for number_format
can be over-ridden upon each call using the
additional parameters.
Arguments
decimal
: The number of decimal points to displaydecimal_point
: The character(s) to use for the decimal pointthousand_sep
: The character(s) to use for the thousands separator