格式化树枝模板中的钱
在树枝模板引擎中是否有任何filter或类似的东西来格式化金钱或数字?
自2011年12月底以来, number_format
filter已被包含在Twig核心中。相关的提交在这里 。
用法: number_format(decimals, decimalSeparator, thousandSeparator)
{{ total|number_format(2) }} {{ total|number_format(0, '.') }} {{ total|number_format(2, '.', ',') }}
在文档中阅读更多关于它的内容
Twig扩展库包含Twig的一些有用的扩展。 随着版本1.2.0的发布,Intl扩展中已经添加了一个localizedcurrency
filter 。 顾名思义,这个filter会根据当前的语言环境来格式化一个数字。 它使用PHP的NumberFormatter
类来做到这一点。
用法
这个filter非常容易使用。 filter唯一需要的参数是3个字母的ISO 4217货币代码。 例如,要显示27.99欧元的金额,请使用以下代码行:
{{ price|localizedcurrency('EUR') }}
这将根据语言环境显示不同的结果:
- 如果区域设置为
en
则为€27.99
- 如果区域设置为
fr
27,99 €
- 如果区域设置为
nl
€ 27,99
安装/设置语言环境
Intl扩展的安装说明可以在这个单独的答案中find。
如果您使用的是旧版本的树枝,而您又不想安装任何扩展,则可以使用格式filter,如下所示:
{{ "%.2f"|format(total) }}
不是很好,但它的作品。
这是一个filter,确实number_format()
:
https://github.com/falmp/Twig-extensions/blob/master/lib/Twig/Extensions/Extension/Number.php