(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. |