echo 65.7 * 100 % 10//0
echo 65.6 * 100 % 10//9
echo 6560 % 10//0
echo 65.5 * 100 % 10//0
有人可以解释为什么吗?
编辑:
对于人类或非程序员,结果 9 显然是错误的。
编程时如何防止这个"error"
?
最佳答案
因为浮点中的 65.6
实际上是 65.6
的近似值。它实际上略小于 65.6
,即 65.5999
或类似的。
假设我对实际值的疯狂猜测是正确的,您有 6559.9
,它是模数运算符的 stripped to 6599
,然后除以 10 得到余数 9。
关于php - 为什么 65.6*100%10 等于 9,而不是 PHP 中的 0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13339725/