Математические функции
PHP Manual

round

(PHP 4, PHP 5, PHP 7)

roundОкругляет число типа float

Описание

float 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.60);      // 4
echo round(1.955832);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.0452);    // 5.05
echo round(5.0552);    // 5.06
?>

Пример #2 Примеры использования параметра mode

<?php
echo round(9.50PHP_ROUND_HALF_UP);   // 10
echo round(9.50PHP_ROUND_HALF_DOWN); // 9
echo round(9.50PHP_ROUND_HALF_EVEN); // 10
echo round(9.50PHP_ROUND_HALF_ODD);  // 9

echo round(8.50PHP_ROUND_HALF_UP);   // 9
echo round(8.50PHP_ROUND_HALF_DOWN); // 8
echo round(8.50PHP_ROUND_HALF_EVEN); // 8
echo round(8.50PHP_ROUND_HALF_ODD);  // 9
?>

Пример #3 Примеры использования параметра mode с указанием точности

<?php
/* Использование PHP_ROUND_HALF_UP с точностью до 1 знака */
echo round1.551PHP_ROUND_HALF_UP);   //  1.6
echo round1.541PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.551PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.541PHP_ROUND_HALF_UP);   // -1.5

/* Использование PHP_ROUND_HALF_DOWN с точностью до 1 знака */
echo round1.551PHP_ROUND_HALF_DOWN); //  1.5
echo round1.541PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.551PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.541PHP_ROUND_HALF_DOWN); // -1.5

/* Использование PHP_ROUND_HALF_EVEN с точностью до 1 знака */
echo round1.551PHP_ROUND_HALF_EVEN); //  1.6
echo round1.541PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.551PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.541PHP_ROUND_HALF_EVEN); // -1.5

/* Использование PHP_ROUND_HALF_ODD с точностью до 1 знака */
echo round1.551PHP_ROUND_HALF_ODD);  //  1.5
echo round1.541PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.551PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.541PHP_ROUND_HALF_ODD);  // -1.5
?>

Список изменений

Версия Описание
5.3.0 Был добавлен параметр mode.
5.2.7 Работа функции round() была изменена в соответствии со стандартом C99.

Смотрите также


Математические функции
PHP Manual