В PHP для округления чисел применяются следующие функции:
Функция round($num, $precision)
возвращает округлённое значение $num
с указанной точностью $precision
(количество цифр после запятой).
echo round(111.455); // 111
// Один знак после запятой
echo round(111.455, 1); // 111.5
// Два знака после запятой
echo round(111.455, 2); // 111.46
Также функция round() может округлять целую часть числа, для этого нужно указать отрицательный $precision
.
// Один знак перед запятой
echo round(111.455, -1); // 110
// Два знака перед запятой
echo round(111.455, -2); // 100
Третьим аргументом функции можно повлиять способ округления.
PHP_ROUND_HALF_UP |
Округляет от нуля, когда следующий знак находится посередине. То есть округляет 1.5 в 2 и -1.5 в -2. |
PHP_ROUND_HALF_DOWN |
Округляет к нулю, когда следующий знак находится посередине. То есть округляет 1.5 в 1 и -1.5 в -1. |
PHP_ROUND_HALF_EVEN |
Округляет до ближайшего чётного значения, когда следующий знак находится посередине. То есть округляет 1.5 и 2.5 в 2. |
PHP_ROUND_HALF_ODD |
Округляет до ближайшего нечётного значения, когда следующий знак находится посередине. То есть округляет 1.5 в 1 и 2.5 в 3. |
Функция ceil($num)
– всегда округляет число в большую сторону.
Функция floor()
– округляет число в меньшую сторону.
Если требуется всегда выводить числа после запятой (.00), то можно применить функцию number_format().
Функция number_format не просто форматирует, но округляет.
Например:
$num = "100.378";
echo number_format($num, 2, '.', '');
Выведет не 100.37, а 100.38
Поправьте плиз в статье.