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);
 
 По скорости, видимо, то же самое, но немного компактнее - мелочь, а приятно.
- 
				По скорости, видимо, то же самое...
 
 
 Второй вариант быстрее.