PHP округление до сотен

seo-alex
На сайте с 12.02.2006
Offline
143
12457

Возникла вот какая потребность, необходимо округлять целые числа из БД до сотен в большую сторону.

например 2102 в 2200, 4751 в 4800, 614 в 700

Подскажите, есть ли в PHP функция, которая поможет?

P.S.: смотрел функцию ceil, она вроде только по дробным числам..

dkameleon
На сайте с 09.12.2005
Offline
386
#1
seo-alex:

P.S.: смотрел функцию ceil, она вроде только по дробным числам..

поделить на 100, округлить, умножить на 100.

Дизайн интерьера (http://balabukha.com/)
A4
На сайте с 12.04.2008
Offline
94
#2

Делим целое число на 100, дальше округляем с помощью ceil, потом умножаем на 100. Что то вроде:

<?php
$var=101;
$res=(ceil($var/100))*100;
echo "$res";
?>

С виду работает как надо.

mfl
На сайте с 16.10.2006
Offline
134
mfl
#3

уже ответили, удаляю

seo-alex
На сайте с 12.02.2006
Offline
143
#4

тьфу ты, все гениальное просто :) спасибо!

Shtogrin
На сайте с 02.11.2006
Offline
95
#5
seo-alex:
тьфу ты, все гениальное просто :) спасибо!

да гениальное действительно просто, но маны читать тоже надо :)

round(2102,-2);

PHP 4 & 5

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
dkameleon
На сайте с 09.12.2005
Offline
386
#6
Shtogrin:
но маны читать тоже надо

Точно. Так как необходимо округление в большую сторону всегда. а не от половины, как делает round ;)

Shtogrin
На сайте с 02.11.2006
Offline
95
#7
dkameleon:
а не от половины, как делает round ;)

и ТЗ читать видимо тоже надо :)

ciber
На сайте с 04.01.2008
Offline
215
#8
dkameleon:
Точно. Так как необходимо округление в большую сторону всегда. а не от половины, как делает round ;)

Не тупи, увеличь округляемое на величину чуть меньше половины в зависимости от необходимой точности.

<?

echo round(10.001+0.0049999,2);
?>
dkameleon
На сайте с 09.12.2005
Offline
386
#9
ciber:
Не тупи

+1. С количеством девяток главное не прогадать ;)

а в твоём случае включить мозги и хотя бы знак перед двойкой не препутать. Да и вообще понять, о чём речь в теме идёт.

Головоломки для гения:

<?php
echo round(10.00 + 0.0049999, 2)."\n";
echo round(10.00 + 0.00499999999999999999999999, 2)."\n";
echo floor((0.1 + 0.7) * 10)."\n";
?>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий