Twig

灵活、快速且安全的
PHP 模板引擎

a Symfony Product
文档 过滤器 number_format
您正在阅读 Twig 3.x 的文档。切换到 Twig 1.x, 2.x 的文档。

问题与反馈

许可

Twig documentation 在新的 BSD 许可下获得许可。

number_format

number_format 过滤器格式化数字。它是 PHP number_format 函数的包装器

1
{{ 200.35|number_format }}

您可以使用额外的参数来控制小数位数、小数点和千位分隔符

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

要格式化负数,请用括号括起之前的语句(请注意,从 Twig 3.21 开始,不使用括号已被弃用,因为过滤器运算符的优先级将在 Twig 4.0 中更改)

1
2
{{ -9800.333|number_format(2, '.', ',') }} {# outputs : -9 #}
{{ (-9800.333)|number_format(2, '.', ',') }} {# outputs : -9,800.33 #}

要格式化数学计算,请用括号括起之前的语句(这是因为 Twig 的 运算符优先级 - 所需的)

1
2
{{ 1 + 0.2|number_format(2) }} {# outputs : 1.2 #}
{{ (1 + 0.2)|number_format(2) }} {# outputs : 1.20 #}

如果没有提供格式化选项,Twig 将使用以下默认格式化选项

  • 0 位小数。
  • . 作为小数点。
  • , 作为千位分隔符。

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

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

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

参数

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