format_number

The format_number filter formats a number:

format_number フィルターは数値をフォーマットします。
1
{{ '12.345'|format_number }}

You can pass attributes to tweak the output:

属性を渡して出力を微調整できます。
1
2
3
4
5
{# 12.34 #}
{{ '12.345'|format_number({rounding_mode: 'floor'}) }}

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

The list of supported options:

サポートされているオプションのリスト:
  • grouping_used;
    grouping_used;
  • decimal_always_shown;
    decimal_always_shown;
  • max_integer_digit;
    max_integer_digit;
  • min_integer_digit;
    min_integer_digit;
  • integer_digit;
    integer_digit;
  • max_fraction_digit;
    max_fraction_digit;
  • min_fraction_digit;
    min_fraction_digit;
  • fraction_digit;
    小数桁;
  • multiplier;
    乗数;
  • grouping_size;
    grouping_size;
  • rounding_mode;
    rounding_mode;
  • rounding_increment;
    rounding_increment;
  • format_width;
    format_width;
  • padding_position;
    padding_position;
  • secondary_grouping_size;
    secondary_grouping_size;
  • significant_digits_used;
    Significant_digits_used;
  • min_significant_digits_used;
    min_significant_digits_used;
  • max_significant_digits_used;
    max_significant_digits_used;
  • lenient_parse.
    lenient_parse.

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

単純な数値に加えて、フィルターはさまざまなスタイルで数値をフォーマットすることもできます。
1
2
3
4
5
6
7
8
{# 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:

ショートカットとして、`*` をスタイルに置き換えて format_*_number フィルタを使用できます。
1
2
3
4
5
{# 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:

属性を渡して出力を微調整できます。
1
2
{# 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:

デフォルトでは、フィルタは現在のロケールを使用します。明示的に渡すことができます:
1
2
{# 12,345 #}
{{ '12.345'|format_number(locale='fr') }}

Note

ノート

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

format_number フィルターは、デフォルトではインストールされない IntlExtension の一部です。最初にインストールします。
1
$ composer require twig/intl-extra

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

次に、Symfony プロジェクトで、twig/extra-bundle をインストールします。
1
$ composer require twig/extra-bundle

Otherwise, add the extension explicitly on the Twig environment:

それ以外の場合は、Twig 環境で拡張機能を明示的に追加します。
1
2
3
4
use Twig\Extra\Intl\IntlExtension;

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

Arguments

  • locale: The locale
    locale: ロケール
  • attrs: A map of attributes
    attrs: 属性のマップ
  • style: The style of the number output
    style: 数値出力のスタイル