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 關注
- 123 瀏覽
添加回答
舉報
0/150
提交
取消