format_number#

The format_number filter formats a number:

{{ '12.345'|format_number }}

You can pass attributes to tweak the output:

{# 12.34 #}
{{ '12.345'|format_number({rounding_mode: 'floor'}) }}

{# 1000000.0000 #}
{{ '1000000'|format_number({fraction_digit: 4}) }}

The list of supported options:

  • grouping_used;

  • decimal_always_shown;

  • max_integer_digit;

  • min_integer_digit;

  • integer_digit;

  • max_fraction_digit;

  • min_fraction_digit;

  • fraction_digit;

  • multiplier;

  • grouping_size;

  • rounding_mode;

  • rounding_increment;

  • format_width;

  • padding_position;

  • secondary_grouping_size;

  • significant_digits_used;

  • min_significant_digits_used;

  • max_significant_digits_used;

  • lenient_parse.

Besides plain numbers, the filter can also format numbers in various styles:

{# 1,234% #}
{{ '12.345'|format_number(style='percent') }}

{# twelve point three four five #}
{{ '12.345'|format_number(style='spellout') }}

{# 12 sec. #}
{{ '12'|format_duration_number }}

The list of supported styles:

  • decimal;

  • currency;

  • percent;

  • scientific;

  • spellout;

  • ordinal;

  • duration.

As a shortcut, you can use the format_*_number filters by replacing * with a style:

{# 1,234% #}
{{ '12.345'|format_percent_number }}

{# twelve point three four five #}
{{ '12.345'|format_spellout_number }}

You can pass attributes to tweak the output:

{# 12.3% #}
{{ '0.12345'|format_percent_number({rounding_mode: 'floor', fraction_digit: 1}) }}

By default, the filter uses the current locale. You can pass it explicitly:

{# 12,345 #}
{{ '12.345'|format_number(locale='fr') }}

Примечание

The format_number filter is part of the IntlExtension which is not installed by default. Install it first:

$ composer require twig/intl-extra

Then, on Symfony projects, install the twig/extra-bundle:

$ composer require twig/extra-bundle

Otherwise, add the extension explicitly on the Twig environment:

use Twig\Extra\Intl\IntlExtension;

$twig = new \Twig\Environment(...);
$twig->addExtension(new IntlExtension());

Arguments#

  • locale: The locale

  • attrs: A map of attributes

  • style: The style of the number output