Jel*_*lly 5 php loops for-loop
for($i=0;$i<=2;$i+=0.1){
echo $i."<br>";
}
Run Code Online (Sandbox Code Playgroud)
我希望的结果是:
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
Run Code Online (Sandbox Code Playgroud)
相反,循环达到1.9并停止.为什么?
由于浮点精度,这不起作用。这些数字以 2 为基数的格式存储,并且由于四舍五入而永远不会精确。当您将 0.1 添加到 1.9 时,最终不会得到 2.0。您最终会得到类似 1.99999 的结果。在下一次迭代中,您最终会得到类似 2.099998 的结果,具体取决于它以基数 2 格式舍入的结果。
你也可以做这样的事情来得到你想要的结果
for ($i = 0; $i < 2.1; $i += .1){
echo $i . '<br />';
}
Run Code Online (Sandbox Code Playgroud)