在 WordPress 中使用树枝/木材无法正确显示价格

问题描述

我遇到的情况是,我的价格在 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) }}