这只适用于不错的整数

时间:2017-11-10 16:34:55

标签: perl

小程序,它给出了计算到X数的距离的百分比:

$total = 10000;
$up = 0;
print "$up%\n";
$up = 10;
while ($line_c != $total){
    if (($line_c/$total) == ($up/100)) {
        print "$up%\n";
        $up += 10;
    }
    $line_c++;
}
print "$up%\nDone";

问题是,它只喜欢整数。 如果你做10001,它将不会打印任何东西......

1 个答案:

答案 0 :(得分:5)

比较整数,浮点数可以不同:

int($line_c / $total) == int($up / 100)

但似乎你的逻辑是错误的。它打印前10行的输出,然后对循环的其余部分不执行任何操作(与10000相同)。通过将$ line_c与$ up一起打印来验证。