【问题标题】:Documentation for Twig 3.x format_currency filter options?Twig 3.x format_currency 过滤器选项的文档?
【发布时间】:2022-09-27 21:56:25
【问题描述】:
我正在尝试在 twig 3.x 模板中输出本地化货币。我已经安装了 \"Intl\" 扩展。设置货币和小数位数很简单,但输出不包括千位分隔符。对于任何选项,我在任何地方都找不到任何文档,其中一些选项的名称难以理解,例如“grouping_used”。有没有我可以看的地方,或者我在html中犯了一个错误?
枝条:
{{ reservation.balance_due|format_currency(\'USD\',{fraction_digit: 0}) }}
输出:
1234 美元
标签:
php
twig
icu
twig-filter
【解决方案1】:
树枝扩展直接映射那些属性to intl NumberFormatter attributes。
但是,NumberFormatter 属性也是pretty scarcely documented。
“grouping_used”映射到NumberFormatter::GROUPING_USED。 NumberFormatter::GROUPING_USED 又映射到来自 ICU 库的 UNUM_GROUPING_USED 常量。
ICU 库属性的文档can be found here。
不幸的是,PHP 文档似乎很大程度上是从 ICU 文档中复制而来的。
至于您的具体问题,似乎 grouping_used 属性确实是您正在寻找的:
{{ '1234'|format_currency('USD', {fraction_digit: 0, 'grouping_used': 1})}}
{# Prints: $ 1,234 #}
请注意,format_currency 也受当前语言环境的影响。
{{ '1234'|format_currency('USD', {fraction_digit: 0}, locale='en_US') }}
{# Also prints: $ 1,234 #}