我尝试intval(6.02 * 100)
,结果是602。但是为什么intval(5.02 * 100)
的结果是501?
答案 0 :(得分:3)
这是一个浮点数学问题。以下内容可能有助于对其进行解释:
ini_set('precision', 17);
echo (float)5.02;
5.0199999999999996
echo 5.02 * 100;
501.99999999999994
echo intval(501.99999999999994);
501
有关此主题的更多讨论: php intval() and floor() return value that is too low?