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

问题描述 投票:0回答:1
 for($i=0;$i<=15120;$i+=504){
      echo ($i/60/8.4) . " - " .floor($i/60/8.4)."<br>";
 }

结果(我对问题做出**):

0-0

1-1

2-2

3-3

4-4

5-5

6-6

7-6

8-8

9-8

10-10

11-11

12-12

13-13

14-13

15-15

16-16

17-17

18-17

等...

开始时,我想我在所有计算中都应用了“ Floo”,但是(对于“ 7-6”行也有$ i = 3528:

3528 / 60 = 58,8 == Floor ==> 58 / 8 = 7.25 

7.25的底面= / = 6

php calculation floor
1个回答
0
投票
由于PHP floating point precision而导致>

例如,您的第8个计算将不会返回7,而是类似6.9999999999999999999999999999

因为这是一个双精度数,它将在输出上四舍五入为7,请尝试以下方法:

$x = 6.9999999999999999999999999999999999999999999999999999999; echo $x;

当您使用floor()时,它将(正确地)四舍五入到6
© www.soinside.com 2019 - 2024. All rights reserved.