![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| KesT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.10.2002 Где: Москва Репутация: нет Всего: нет |
Скажите плиз как округлить число допустим 5.71428571428571 или 122.5 или любое НЕ целое число до целых??
|
|||
|
||||
| Cepera |
|
|||
![]() PHPexp ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2146 Регистрация: 25.3.2002 Где: Russia, Samara Репутация: нет Всего: 7 |
use POSIX;
sub round {floor($_[0]+0.5);} -------------------- I know it is heavy for reading, but I know you will read it anyway... |
|||
|
||||
| KesT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.10.2002 Где: Москва Репутация: нет Всего: нет |
А можно поточнее
|
|||
|
||||
| NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: нет Всего: 11 |
Дык а че там подключать - определяешь такую функцию, как написано, а потом вызываешь $rounded_value = round ($value); В итоге, в $rounded_value будет округленное значение $value. (5.3 => 5; 5.5 => 6)
-------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
| Cepera |
|
|||
![]() PHPexp ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2146 Регистрация: 25.3.2002 Где: Russia, Samara Репутация: нет Всего: 7 |
совершенно верно
-------------------- I know it is heavy for reading, but I know you will read it anyway... |
|||
|
||||
| KesT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.10.2002 Где: Москва Репутация: нет Всего: нет |
Спасибо приогромное.
|
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
В общем-то если не предпологается что-то особенно замудрое тоже самое можно сделать regexp'ом. Что-то типа
$text =~s/^(.+?\...).*?)/$1/; Насколько это быстрее или медленнее не знаю, но хоть громоздкий модуль грузить не надо. |
|||
|
||||
| NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: нет Всего: 11 |
мдяя... тогда уж проще сделать int ($text) - проблема в том, что работать это будет уродливо, так же, как и через regexp, разве только быстрее. А чтобы не грузить весь модуль из-за одной функции, можно написать
use POSIX "floor"; -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
| konst |
|
|||
|
Unregistered |
без подгрузки модулей:
$b = sprintf("%.0f",$a); |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |