我正在寻找有关非常奇怪的PHP行为的解释。偶然地,我们发现PHP舍入一个整数的情况。
因此在以下示例中:
floor(2.05 * 100) == 204
是 true 以及(int)(2.05 * 100) === 204
。
这两种情况似乎都不正确,因为floor()或(int)应该导致数字205,而不是204。
将数字乘以1000并除以10时,使用(int)时结果正确:
(int)((2.05 * 1000) / 10) === 205
,但在使用floor()时仍然不正确。
你能告诉我为什么会这样吗?
我的PHP版本为7.3.8,但可能与旧版本相同。
非常感谢!