首页 > 解决方案 > Twig 'is same as(0.0)' 值 0.0 为 false

问题描述

在以下 Twig 片段中(请参阅https://twigfiddle.com/agvgz9):

{{ 0.0 is same as (0.0) ? 'Yes' : 'No' }}

{{ val is same as (0.0) ? 'Yes' : 'No' }}

输出结果如下

Yes

No

dump(val)输出float(0)

第二个表达式期望计算结果为Yes,但为什么不是这样呢?例如,如果这失败了,我会理解val = 0.0000000001;,但根据转储,显然不是这样。

做一个简单的php -a测试

$val = 0.0;
$echo $val === 0.0 ? 'Yes' : 'No';

结果Yes,正如预期的那样。

php -a 输出

这可以被认为是 Twig 的错误吗?

使用 Twig 版本 2.5.0,也尝试升级到 2.6.0。

标签: floating-pointtwig

解决方案


推荐阅读