【发布时间】:2018-09-01 00:59:46
【问题描述】:
我看到 twig 2 尝试使用 number_format 时出现了一些奇怪的行为。
我从服务器中为每个项目获取 3 个值:成本、乘数和数量。由于乘数,我在乘以数量时得到了部分美分,所以我将价格放在一个变量中,如下所示:
{% set price = (item.buyPrice * item.markup_mult)|number_format(2) %}
没关系,我在下一行使用它,它是正确的。问题是当我尝试在另一个具有第二种格式的变量中使用价格值时:
{% set lineTotal = (price * quantities[item.collection_id][item.item_id])|number_format(2) %}
像这样,我会得到 2.00 的值,因为我的 lineTotal 应该是 2400 左右。
需要注意的3件事:
- 仅当价格超过 1000 美元时才会出现这种情况,否则没关系。如果价格低于 1000 美元,则不会发生这种情况,但是当乘以数量时,总数超过 1000 美元——我觉得这不是巧合。可能与位数有关吗?
- 我把它放在一个变量中作为测试,我最初有它,但我也收到错误消息:“$
注意:在 C:\Apache24\htdocs\tekinventory.dev\vendor\twig\twig\lib\Twig\Environment.php(372) 中遇到格式不正确的数值:第 198 行的 eval() 代码
2.00 "
以及值 2.00 - 如果我将“|number_format(2)”从设定的价格线中取出,一切正常,只是偶尔会在最终价格中出现舍入错误(原始问题)
我也读过
这是一个已知的错误,还是我做错了什么?谢谢
【问题讨论】: