为了账号安全,请及时绑定邮箱和手机立即绑定

PHP - 为什么 floor() 给我另一个 sams 计算结果

PHP - 为什么 floor() 给我另一个 sams 计算结果

PHP
尚方宝剑之说 2022-07-16 18:49:02
 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


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信