(PHP 4, PHP 5, PHP 7)
round — Округляет число типа float
$val
[, int $precision = 0
[, int $mode = PHP_ROUND_HALF_UP
]] )
Возвращает округлённое значение val с указанной точностью precision
(количество цифр после запятой).
precision может быть отрицательным или нулём (по умолчанию).
Замечание: PHP, по умолчанию, не может правильно обрабатывать строки типа "12,300.2". Более подробно читайте в разделе Преобразование строк в числа.
valЗначение для округления
precisionКоличество десятичных знаков, до которых округлять
modeИспользуйте одну из этих констант для задания способа округления.
| Константа | Описание |
|---|---|
PHP_ROUND_HALF_UP |
Округляет val в большую сторону от нуля до precision десятичных знаков,
если следующий знак находится посередине. Т.е. округляет 1.5 в 2 и -1.5 в -2.
|
PHP_ROUND_HALF_DOWN |
Округляет val в меньшую сторону к нулю до precision десятичных знаков,
если следующий знак находится посередине. Т.е. округляет 1.5 в 1 и -1.5 в -1.
|
PHP_ROUND_HALF_EVEN |
Округляет val до precision десятичных знаков
в сторону ближайшего четного знака.
|
PHP_ROUND_HALF_ODD |
Округляет val до precision десятичных знаков
в сторону ближайшего нечетного знака.
|
Округленное значение
Пример #1 Пример использования round()
<?php
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
Пример #2 Примеры использования параметра mode
<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
?>
Пример #3 Примеры использования параметра mode с указанием точности
<?php
/* Использование PHP_ROUND_HALF_UP с точностью до 1 знака */
echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
/* Использование PHP_ROUND_HALF_DOWN с точностью до 1 знака */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
/* Использование PHP_ROUND_HALF_EVEN с точностью до 1 знака */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
/* Использование PHP_ROUND_HALF_ODD с точностью до 1 знака */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
?>
| Версия | Описание |
|---|---|
| 5.3.0 |
Был добавлен параметр mode.
|
| 5.2.7 | Работа функции round() была изменена в соответствии со стандартом C99. |