格式化树枝模板中的钱

在树枝模板引擎中是否有任何filter或类似的东西来格式化金钱或数字?

自2011年12月底以来, number_formatfilter已被包含在Twig核心中。相关的提交在这里 。

用法: number_format(decimals, decimalSeparator, thousandSeparator)

 {{ total|number_format(2) }} {{ total|number_format(0, '.') }} {{ total|number_format(2, '.', ',') }} 

在文档中阅读更多关于它的内容

Twig扩展库包含Twig的一些有用的扩展。 随着版本1.2.0的发布,Intl扩展中已经添加了一个localizedcurrencyfilter 。 顾名思义,这个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) }} 

不是很好,但它的作品。