Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Почему в пхп нет нормальной функции для округления?

Обсуждение темы Почему в пхп нет нормальной функции для округления? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Почему в пхп нет нормальной функции для округления? ceil() округляет к большему, но если есть число например 4,2 то оно вернет 5. а ...


Закрытая тема
 
Опции темы
Старый 02.01.2009, 22:51   #1
Почему в пхп нет нормальной функции для округления? ceil() округляет к большему, но если есть число например 4,2 то оно вернет 5. а floor() округляет к меньшему, но если есть число 4,9 то оно вернет 4. Есть ли функция, что до 4,5 - 4, 4,5 - 4,9 вернет 5?
 
Старый 02.01.2009, 22:51
Ссылки
Старый 03.01.2009, 02:46   #2
Так, осла забили, теперь взялись за пхп :-) кстати это интересный факт. Хотя то что вы хотите вполне можно сделать ручками, у меня есть идея, я бы написал код, но пхп не знаю ))

Добавлено через 18 минут

Вот она, моя идея
Например есть число 4.7 это будет А. Выделяем из А целую часть и приплюсовываем к ней 1 получаем 5 это будет число Б. Теперь из Б вычтем А и извлечем из результата дробную часть, она равна 0.3 теперь сравним дробные части этого числа и числа А. Если дробная часть числа А меньше то применить к нему функцию floor если больше или равно то ceil.
Я думаю это за долго до меня придумали ))

Последний раз редактировалось sokol666; 03.01.2009 в 02:46.. Причина: Добавлено сообщение
 
Старый 03.01.2009, 05:28   #3
А написать свою функцию сложно? Сокол правильно предложил. Только проще брать число после запятой и делать сравнение >=5.
 
Старый 03.01.2009, 06:51   #4
Потому что вы хреново ищете: round, number_format, sprintf и NumberFormatter class
 
Этот пользователь сказал спасибо deMone за это полезное сообщение:
BleSSeD (03.01.2009)
Старый 03.01.2009, 12:34   #5
Nielson, если там поставить сравнение с пятеркой, то например с числом 4.77 уже работать не будет.
 
Старый 03.01.2009, 13:51   #6
sokol666, ты наверное от праздников ещё не отошёл...
не с 5, а с 0.5
 
Старый 03.01.2009, 14:25   #7
Да, действительно, round() подошло. А искал я здесь. Только не догадался что значит Округляет число типа float.
ceil -- Округляет дробь в большую сторону
floor -- Округляет дробь в меньшую сторону
вот это было ьолее понятное)
 
Старый 03.01.2009, 16:39   #8
Makarenya, я... Ик... Я не пью... Вобще )) так там нильсон написал что взять только дробную часть. Если брать все число то нужно 0.5 брать, это верно
 
Старый 03.01.2009, 16:47   #9
Ну почему же. 0.77 больше, чем 0.5. Чем тебе такое равенство не подходит?
 
Старый 04.01.2009, 00:45   #10
Подходит, все верно. Это я не подумал

Добавлено через 3 минуты

Блин не путайте меня! Там целое число будет после выделения дробной части и никакие 0.5 не подходят.

Последний раз редактировалось sokol666; 04.01.2009 в 00:45.. Причина: Добавлено сообщение
 
Старый 04.01.2009, 00:45
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хранимые функции MYSQL Anthony ASP, Perl, PHP и MySQL 5 02.04.2010 15:37
Как в php работают функции? Вертер ASP, Perl, PHP и MySQL 2 11.02.2010 20:42
Помогите, плз, в проблеме по Js функции kluger ASP, Perl, PHP и MySQL 3 12.09.2006 08:28
вызов php-функции handler ASP, Perl, PHP и MySQL 3 30.08.2006 13:12
Народ, помогите с нормальной, здоровой критикой! Владислав Зал дебютантов 25 21.07.2005 12:26


Текущее время: 11:06. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум