<?phpfor($i=100.001;$i<100.527;$i=$i+0.001){
if((($i-100)*1000%100)==0){
echo "ren ".$i."00.pdg ".$i."00<br>";
}
else if((($i-100)*1000%10)==0){
echo "ren ".$i."0.pdg ".$i."0<br>";
}
else{
echo "ren ".$i.".pdg ".$i."<br>";
}}
?>
把<=100.526改成<100.527就行了!应该是精度的问题。在C语言时中,两个浮点数是不能比较相等的!

解决方案 »

  1.   

    这是我做的,你是否满意?<?
    for ($i=1; $i<=526; $i++) {
    printf("ren 100.%03d.pdg 100.%03d<br>", $i, $i);
    }
    ?>
      

  2.   

    取20为小数
    i = 100.52500000000001989520
    i = 100.52600000000002467004
    你的终止条件是$i<=100.526
    php的高精度计算应使用“BC 高精确度函式库”
    js无法满足高精度计算的要求
      

  3.   

    用法为
    <?php
    for($i=100.521;$i<=100.526;$i=bcadd($i,0.001,3)){
     ...