у round есть своеобразная глюка.. некотрые числа он странно окгругляет. Мне пара таких чисел попадалось.. что то типа округлить 51,56 до 2х знаков и round возращает 51,5599186 ..
поэтому пользуюсь number_format . на нём таких глюков нет. да и универсальнее.
> у round есть своеобразная глюка..
Это не глюк, а вполне даже нормальное явление. number_format возвращает строку, а round - число с плавающей запятой. Не любое число с десятичной точкой может быть представлено в двоичной системе счисления в виде конечной дроби. Взять хотя бы 0.1 - в двоичной системе это 0.0(0011) - периодическая дробь.
ceil -- Округляет дробь в большую сторону ceil(number*100)/100
floor -- Округляет дробь в меньшую сторону floor(number*100)/100
sprintf -- Возвращает отформатированную строку.
sprit
И что теперь. Свою функцию round через ceil и floor писать? Вы что, проверяете на принадлежность последней цифры после запятой к интерваллам 0..5 и 6..9, а потом в зависимости от принадлежности выводите ceil или floor? Может хватит велосипедов?