Forum Webscript.Ru
Программирование => Perl => Тема начата: YA от 28 Февраля 2002, 23:41:27
-
Помогите с элементарной задачкой.
Нужно определить число полных и неполных сотен в числе.
Делаю так:
my $int=ЧИСЛО;
$int/=100;
$int=($int==int($int))?$int:(int($int)+1); # округление "вверх"
Что-то мне подсказывает, что все должно быть проще...
-
Думал, что хотя бы Chs найдет, что здесь оптимизировать.
-
Думал, что хотя бы Chs найдет, что здесь оптимизировать.
:) А самому поискать - не ищеться?
perldoc -q ceil
use POSIX qw(ceil);
$int = ceil($int/100);
-
Зачем же так строго?! :) Просто до этого упоминание "ceil" нигде не встречал, вот и не знал, что искать.
Но, все равно, спасибо!
-
Было:
my $int=ЧИСЛО;
$int/=100;
$int=($int==int($int))?$int:(int($int)+1); # округление "вверх"
Альтернатива:
my $int=ЧИСЛО;
$int=int($int/100)+(($int%100)?1:0);
По скорости, видимо, то же самое, но немного компактнее - мелочь, а приятно.
-
По скорости, видимо, то же самое...
Второй вариант быстрее.