for($s=0;$s<=1;$s+=0.05){
echo $s."<br>";
}
在这个循环中为什么没办法显示1出来?
还有就是
for($s=0;$s<=0;$s+=0){
echo $s."<br>";
}
在PHP中怎么会是死循环呢?请各位大大帮助解答一下。
echo $s."<br>";
}
在这个循环中为什么没办法显示1出来?
还有就是
for($s=0;$s<=0;$s+=0){
echo $s."<br>";
}
在PHP中怎么会是死循环呢?请各位大大帮助解答一下。
解决方案 »
- 直接从百科上复制的提示错误
- php语法高亮
- 【散分】即将辞职,顺便找个去处!!!!
- php与mysql取部分字符问题
- 为何sql查询出来的字符是???乱码
- 速战速决:现在最牛的php网站是什么?
- \u6700\u65b0\u516c\u544aabc<br> 如何转成 最新公告abc<br>
- OCILong 调用ORACLE9I数据库时出错
- 请教如何用PHP程序把服务器上的文件夹整个备分到本地PC里
- Warning: Failed opening 大家帮忙看看!
- 请问如何设置才能让我的apache+php网站只能通过我特定域名访问?
- 关于PHP版本问题,在线急等
第2个循环,每次循环都是加0,0<=0;条件成立,死循环了
for($s=0;$s<=1;$s+=0.05){
echo $s."<br>";
}
var_dump($s>1);//根据你的结果,猜测,这里是true
部分浮点数,不能在不损失一点点精度的情况下转化为二进制,,有兴趣你自己试试看,比如0.7尽量避免类似的循环控制条件
for($s = 0; $s <= 1; $s += 0.05){
echo $s."<br>";
}
echo ($s - 1);
你可以看到输出的是2.2204460492503E-16
至于第二个问题,自己仔细去看下,很简单的错误
这是个很google的问题,不适合用来讨论。
echo $i."<br>";
}
自变量当然是越精确越好,同时最好是整数。精度高,而且速度快