number_format

这个 number_format 过滤格式数字。它是PHP的包装 number_format 功能:

1
{{ 200.35|number_format }}

您可以使用其他参数控制小数位数、小数点和千位分隔符:

1
{{ 9800.333|number_format(2, '.', ',') }}

要设置负数或数学计算的格式,请用括号括住前面的语句(因为Twig的 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 #}

如果没有提供格式选项,那么Twig将使用默认格式选项:

  • 0个小数位。
  • . 作为小数点。
  • , 作为千分之一。

这些默认值可以通过核心扩展进行更改:

$twig = new \Twig\Environment($loader);
$twig->getExtension(\Twig\Extension\CoreExtension::class)->setNumberFormat(3, '.', ',');

为设置的默认值 number_format 可以在每次调用时使用附加参数覆盖。

争论

  • decimal :要显示的小数位数
  • decimal_point :用于小数点的字符
  • thousand_sep :用于千位分隔符的字符