Perl - осреднение чисел

Все о программировании под *nix
BuTyc

Perl - осреднение чисел

Сообщение BuTyc »

Существует ли в Perl стандартная функция осреднения чисел. Нужно допустим осреднить число 48.3879876 по десяткам и получить 50. Ломает выдумывать свой велосипед, если есть уже готовый.

Гость

Сообщение Гость »

Anonymous писал(а):Существует ли в Perl стандартная функция осреднения чисел. Нужно допустим осреднить число 48.3879876 по десяткам и получить 50. Ломает выдумывать свой велосипед, если есть уже готовый.
Прошу прощения неправильно выразился к концу рабочего дня мозги невращаются совсем. Не осреднение а округление нужно. И в догонку ещё одна функция понадобилась каким образом (опять же функцией) можно перевести число из експоненциального представления в нормальное. Или где можно почитать о математических возможностях Perl-а. Спасибо.

Аватара пользователя
zyxel
Неотъемлемая часть форума
Сообщения: 985
Зарегистрирован: 07 июн 2002, 12:05
Откуда: Минск, РБ
Контактная информация:

Сообщение zyxel »

-Сынок, вставай, 5 утра, пора на работу.
-Папа, на какую работу ? Сегодня воскресенье !
-Сынок, какое воскресенье ! Мы же негры !
(С) анекдот

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

ви таки будете смеяться, но называется нету...



sub round{
$float = shift; # the number to round
$intgr = int($float + 0.5);
return $intgr;
}
Опыт растет прямо пропорционально выведенному из строя оборудованию

Гость

Сообщение Гость »

Это верно лишь для положительных чисел. Для отрицательных эта функция будет работать неверно.

Стандартной процедуры округления в перле нет.
попробуй воспользоваться POSIX расширением (см ф-ции POSIX::floor и POSIX::ceil).

либо просто возьми с www.cpan.org модуль Math::Round

Anonymous

Сообщение Anonymous »

Помогите. Я новичок в перл. Я написал код, а что дальше?как заставить его работать?

Аватара пользователя
sanitar
Неотъемлемая часть форума
Сообщения: 1116
Зарегистрирован: 28 ноя 2002, 02:23
Откуда: Минск

Сообщение sanitar »

Mike Vazovsky, ты задолбал.
Достаточно было бы создать одну тему, и положить в нее вопрос.

Не делай так больше, пожалуйста.
I'll kill this code without a knife -- with only fork().

Гость

Сообщение Гость »

2 BuTyc если по минимуму то и printf пойдёть

Anonymous

Сообщение Anonymous »

$a = 100.05
$a = sprintf "%f10.1", $a;
print $a;
----------------------
100,1

Ответить