问题描述
我遇到的情况是,我的价格在 wordpress 中使用树枝/木材无法正确显示,因此我必须将变量设置为:
{% set salestax = toolprice * (taxrate | number_format / 100) %}
和{% set tooltotal = toolprice * (1 + taxrate | number_format / 100) %}
我的所有输出都正常,但它只会显示为 1575.5 而不是 1575.50
解决方法
Twig 的 number_format
是 PHP 的 number_format
的包装器。这意味着您可以传递 3 个额外的参数:decimals
、'decimal_separator'、thousands_separator
{{ price | number_format(2) }} {# out : 100.50 #}
如果您不想每次都传递 decimals
,可以通过执行以下操作来覆盖过滤器的默认参数:
<?php
$twig = new \Twig\Environment($loader);
$twig->getExtension(\Twig\Extension\CoreExtension::class)->setNumberFormat(3,'.',',');
额外注意:您不应该格式化数字将进行计算,仅在最终输出上应用过滤器,以防止舍入错误。
{% set salestax = toolprice * taxrate 100 %}
{{ salestax | number_format(2) }}
{% set tooltotal = toolprice * (1 + taxrate) / 100 %}
{{ tooltotal|number_format(2) }}