Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 08:22 15.05.24 
Компютри и Интернет
   >> Perl
Всички теми * *Кратък преглед

Тема Perl numberнови  
Авторjayd (Нерегистриран)
Публикувано01.06.06 12:34



Някой може ли да ми каже как в Perl мога да закръгля число до втория символ:


т.е. имам примерно

$num=21.341;

и резултата искам да е:

21.34

Благодаря предварително



Тема Re: Perl numberнови [re: jayd]  
Авторpriest (Нерегистриран)
Публикувано01.06.06 19:17



използвай



$num = 21.341;

$num = sprintf("%.2f", $num);

# $num == 21.34
# perldoc -f psrintf



Тема Re: Perl numberнови [re: priest]  
Авторnovobranec (Нерегистриран)
Публикувано10.06.06 23:56



Това не е закръгляване а резачка. В Perl няма функция за закръгляване, трябва сам да си я напишеш или google...



Тема Re: Perl numberнови [re: novobranec]  
Автор supremacy (phantom)
Публикувано11.06.06 12:14



напротив - има закръгляне - погледни следните функции:

ceil - This is identical to the C function "ceil()", returning the smallest integer value greater than or equal to the given numerical argument.
floor - This is identical to the C function "floor()", returning the largest integer value less than or equal to the numerical argument.
Core module POSIX

но явно, че тук потребителя иска точно "орязване", само че играта на думи ли е важна или крайния резултат?



Тема Re: Perl numberнови [re: jayd]  
АвторJud (Нерегистриран)
Публикувано23.06.06 19:22



use Number::Format qw(:subs);

$num=21.341;
$num=round($num, 2);



Тема Re: Perl number [re: supremacy]  
Авторnovobranec (Нерегистриран)
Публикувано25.06.06 23:17



Говорим за закръгляване на реални числа, не на цели. Ceil и Floor са за цели числа. Закръгляването в Perl се прави с проста собственоръчно написана функция или с външен модул (както е писал човека по-долу).



Тема Re: Perl numberнови [re: Jud]  
Автор krassiholmz (минаващ)
Публикувано28.06.06 21:48



по принцип от математиката е добре известно, че
round(x)=floor(x+0.5)
тука закръглянето на x.5 е нагоре.
Примерно за закръгляне до 2 цифри след десетичната точка можем да умножим по 100:

ето го закръглянето:

floor(100*$x+0.5)/100



Тема Re: Perl numberнови [re: novobranec]  
Автор supremacy (phantom)
Публикувано29.06.06 21:27



Ceil и Floor са за цели числа. - tova go kaji avtora na POSIX module-a, shte nauchi neshta, koito ne e znael.
kak se syhranqvat chislata ot perl interpretatora spored teb?
sledniq kod kakvo ti govori?

perl -MPOSIX -e 'print floor(1.1234567)'
### output: 1
perl -MPOSIX -e 'print ceil(1.1234567)'
### output: 2





Всички теми**Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.