for($i=0;$i<=15120;$i+=504){ echo ($i/60/8.4) . " - " .floor($i/60/8.4)."<br>"; }结果(我在问题上做**):0 - 01 - 12 - 23 - 34 - 45 - 56 - 67 - 68 - 89 - 810 - 1011 - 1112 - 1213 - 1314 - 1315 - 1516 - 1617 - 1718 - 17ETC...一开始我认为我在所有计算中都应用了“Floo”,但是(对于“7-6”行)也是 $i = 3528 :3528 / 60 = 58,8 == Floor ==> 58 / 8 = 7.25 7.25 的地板 =/= 6
1 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
这是因为 PHP 的浮点精度
因此,例如,您的第 8 次计算不会返回 7,而是返回 6.9999999999999999999999999999
因为这是双精度数,输出时会舍入到 7,试试这个:
$x = 6.9999999999999999999999999999999999999999999999999999999; echo $x;
当你使用floor()
它时,它会(正确地)四舍五入到 6
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消