Небольшая программа, которая дает процент от того, насколько далеко он находится при подсчете числа 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, он ничего не напечатает ...

2
Mikster 10 Ноя 2017 в 19:34

1 ответ

Лучший ответ

Вместо этого сравнивайте целые числа, числа с плавающей запятой могут быть разными:

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

Но похоже, что у вас неверная логика. Он печатает вывод для первых 10 строк, а затем ничего не делает для остальной части цикла (то же самое с 10000). Проверьте, напечатав $ line_c вместе с $ up.

5
choroba 10 Ноя 2017 в 17:24