昨天我在代码中发现了一些问题,但是我不明白PHP Floor函数有什么问题。对于某些值,Floor()无法正确舍入整数值。
$prise = 550.05 * 100;
echo $prise; // 55005
echo "\nFloor: ";
echo floor(intval($prise));
echo " - ";
echo floor((int)($prise));
echo " - ";
echo floor($prise);
echo " - ";
echo floor(55005); // Floor: 55004 - 55004 - 55004 - 55005
echo "\nNumber format: ";
echo number_format($prise, 0, '.', ''); // Number format: 55005
如您所见,正确的值应等于55005。由于未知原因,该函数仍舍入非十进制值。 有人可以向我解释它是如何工作的,还是PHP问题?
在线PHP沙箱中的示例: http://sandbox.onlinephpfunctions.com/code/55b1782e1f3799815d610777a3de1c2d297e24c8
预先感谢