Функция 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)
– всегда округляет число в большую сторону.
echo ceil(1.1); // 2
echo ceil(1.5); // 2
echo ceil(1.6); // 2
Функция floor()
– округляет число в меньшую сторону.
echo floor(1.1); // 1
echo floor(1.5); // 1
echo floor(1.6); // 1
Если требуется всегда выводить числа после запятой .00
, то можно применить функцию number_format()
.
$num = "100.01";
echo number_format($num, 2, '.', ''); // 100.01
$num = "100";
echo number_format($num, 2, '.', ''); // 100.00