首页 > 解决方案 > PHP Floor() 函数值不正确

问题描述


昨天我在我的代码中发现了一些问题,但我不明白 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

提前致谢

标签: phpfunctionintegerroundingfloor

解决方案


推荐阅读