在树枝模板引擎中是否有任何过滤器或类似的格式化金钱或数字?
答案 0 :(得分:34)
Twig Extensions library包含许多有用的Twig扩展。随着1.2.0版的发布,Intl扩展中添加了localizedcurrency
filter。顾名思义,此过滤器将根据当前区域设置格式化数字。它使用PHP的NumberFormatter
类来执行此操作。
此过滤器非常易于使用。过滤器唯一需要的参数是3个字母的ISO 4217货币代码。例如,要以欧元显示27.99的金额,请使用以下代码行:
{{ price|localizedcurrency('EUR') }}
根据区域设置显示不同的结果:
€27.99
如果区域设置设置为en
27,99 €
如果区域设置设置为fr
€ 27,99
如果区域设置设置为nl
答案 1 :(得分:11)
如果您使用的是较旧版本的twig并且您不想安装任何扩展程序,则可以使用以下格式过滤器:
{{ "%.2f"|format(total) }}
不太好,但确实有效。
基本上format
的作用类似于PHP's sprintf
function
答案 2 :(得分:9)
这是一个number_format()
的过滤器:
https://github.com/falmp/Twig-extensions/blob/master/lib/Twig/Extensions/Extension/Number.php
答案 3 :(得分:1)
使用format_currency
从版本2.12 format_currency
开始添加了过滤器。官方文档https://twig.symfony.com/doc/2.x/filters/format_currency.html