是否有任何过滤器或类似的东西在细枝模板引擎格式化金钱或数字?
number_format过滤器自2011年12月底以来一直包括在 Twig 核心中。相关提交是 给你。
number_format
用法: number_format(decimals, decimalSeparator, thousandSeparator)
number_format(decimals, decimalSeparator, thousandSeparator)
\{\{ total|number_format(2) }} \{\{ total|number_format(0, '.') }} \{\{ total|number_format(2, '.', ',') }}
阅读更多关于它的 医生
如果你正在使用一个旧版本的 twig,你不想安装任何扩展,你可以像这样使用格式过滤器:
\{\{ "%.2f"|format(total) }}
虽然不怎么样,但很管用。
基本上,format的工作原理与 PHP 的 sprintf函数类似
format
sprintf
细枝扩展库包含许多对 Twig 有用的扩展。随着版本1.2.0的发布,一个 localizedcurrency过滤器被添加到了 Intl 扩展中。顾名思义,此筛选器将根据当前区域设置格式化数字。它使用 PHP 的 NumberFormatter类来实现这一点。
localizedcurrency
NumberFormatter
这个过滤器很容易使用。过滤器唯一需要的参数是3个字母的 ISO 4217货币代码。例如,若要以欧元为单位显示金额为27.99,请使用以下代码行:
\{\{ price|localizedcurrency('EUR') }}
这将根据地区显示不同的结果:
en
€27.99
fr
27,99 €
nl
€ 27,99
Intl 扩展的安装说明可以在 这个独立的答案中找到。
使用 format_currency
format_currency
从版本2.12增加了 format_currency过滤器。更多信息见官方文档 https://twig.symfony.com/doc/2.x/filters/format_currency.html