Когда работаешь с ценами, процентами или вычислениями — важно красиво округлить результат.
В PHP есть несколько функций, которые позволяют управлять числом знаков после запятой. В этой статье разберём, как округлять числа до двух знаков с помощью round()
, number_format()
и других способов.
Способ 1. round() — классическое округление
Функция round()
округляет число по стандартным математическим правилам.
phpКопироватьРедактировать$price = 10.6789;
$result = round($price, 2);
echo $result; // 10.68
Можно указать, сколько знаков оставить после запятой (второй аргумент). Работает с любыми числами.
Способ 2. number_format() — форматирование как строка
Если тебе важен не только результат, но и формат вывода (например, для цен), используй number_format()
:
phpКопироватьРедактировать$price = 1234.5678;
echo number_format($price, 2); // 1,234.57
Можно настроить разделители:
phpКопироватьРедактироватьecho number_format($price, 2, '.', ' '); // 1 234.57
Этот метод возвращает строку, а не число — удобно для отображения на сайте.
Способ 3. sprintf() — форматирование как в C
Функция sprintf()
формирует строку по заданному шаблону.
phpКопироватьРедактировать$number = 7.1264;
echo sprintf("%.2f", $number); // 7.13
Используется, когда нужно строгое представление числа в тексте.
Способ 4. Округление в меньшую или большую сторону
Если хочешь округлять не по математике, а строго вверх или вниз:
phpКопироватьРедактировать$up = ceil(4.231 * 100) / 100; // вверх: 4.24
$down = floor(4.239 * 100) / 100; // вниз: 4.23
echo $up;
echo $down;
Умножаем и делим на 100, чтобы управлять знаками после запятой.
Где применяют округление
- Вывод цен (например,
9.99
) - Финансовые расчёты
- Средние значения, проценты, коэффициенты
- Вывод данных в отчётах и таблицах
Заключение
Чтобы округлить число до двух знаков после запятой в PHP, используй round()
— для точных расчётов, number_format()
— для красивого вывода, sprintf()
— для форматирования строк, и ceil/floor
— если нужна жёсткая логика округления. Выбор зависит от задачи, но каждый способ удобен по-своему.