Php округлить до десятых

Округление числа в любом языке программирования может быть выполнено до целого числа или до заданного количества знаков после запятой. Кроме того, учитывается еще, в какую сторону округляется число – к большему или меньшему значению, а так же математически в ближайшую сторону.

В PHP для округления чисел применяются следующие функции:

— round – округление до ближайшего значения;

— ceil – округление до ближайшего значения в большую сторону;

— floor – округление до ближайшего значения в меньшую сторону.

Округление до целого числа

Все функции в качестве основного параметра используют значение с плавающей точкой. Например:

При выполнении каждой функции, получим следующие значения:

echo ceil($x); // 124 (к большему целому значению)
echo floor($x); // 123 (к меньшему целому значению)
echo round($x); // 123 (математически к ближайшему)

При математическом округлении, учитывается значение числа округляемой части. Если оно меньше 5, округляется к меньшему. Если равно или больше 5, округление будет выполнено в большую сторону. В данном случае функция round округляет к меньшему значению, т.к. значение дробной части меньше 0.5. Если использовать значение больше, например:

В результате округления, получим:

echo round($x); // 124

Округление числа до заданного количества знаков после запятой

Для такого округления чисел используется только функция round, имеющая второй (не обязательный) параметр, определяющий точность округления. Задав его можно получить необходимое количество знаков после запятой:

Читайте также:  Как восстановить замазанный текст на фото

$x = 123.8393;
echo round($x, 1); // 123.8
echo round($x, 2); // 123.84
echo round($x, 3); // 123.839

Другие примеры округления

Если вдруг потребовалось реализовать более экзотическое округление – к большему или меньшему значению с заданным количеством знаков после запятой, потребуются дополнительные операции. Как было сказано выше, функции ceil и floor имеют только один параметр и не смогут округлить число до заданной точности.

В таких случаях можно выполнить умножение числа, чтобы затем округлить нужным способом. Например, число нужно округлить до большего значения с двумя знаками после запятой:

$x = 123.8313;
echo ceil($x * 100) / 100; // 123.84

В результате получим 123.84, хотя аналогичное округление функцией round в данном случае вернуло бы 123.83.

Так же можно поступить, если нужно округлить до меньшего значения с заданной точностью:

$x = 123.8393;
echo floor($x * 100) / 100; // 123.83

Округление чисел проводится согласно определенным способам округления.

Например, существует математическое округление, округление в большую сторону, меньшую сторону, до десятков, банковское . способов как округлить числов достаточно много.

  • ceil — округляет в большую сторону, тип float.
  • floor — в меньшую сторону, тип mixed.

Для обычных данных из прайс-листа данные функции вполне подходят, но для анализа статистических данных лучше использовать специализированные решения.

Функция round предназначена для округления дробных чисел, типа float.

По умолчанию округление производится до целого числа, согласно математическим правилам округления чисел.

Округление дробного числа до x знаков после запятой

Вторым параметром функции round является количество знаков после запятой, которое может принимать отрицательные значения.

Задание способа округления функции round

Третий параметр (константа) функции round задает способ округления

Читайте также:  Хочу айфон но нет денег что делать

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 десятичных знаков в сторону ближайшего нечетного знака.

Банковское округление, до ближайшего четного числа

Банковское округление (англ. banker’s rounding) — округление к ближайшему чётному, то есть 2,5 → 2, 3,5 → 4

Используя константу PHP_ROUND_HALF_EVEN функции round и округление до целого, напишем способ банковского округления числа на php.

Округление целого числа кратного 10, 100

Округление до 5

Пример округления до 5 приведен для функции ceil, для round и floor — аналогично.

Данный пример округления кратного 5 встречается наиболее часто, так же существуют варианты когда необходимо не включать само число

или нужно окргулить до ближайшего целого числа, кратного 5

(PHP 3, PHP 4, PHP 5)

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

Описание float round ( float val [, int precision] )

Возвращает округлённое значение val с указанной точностью precision (количество цифр после запятой). Последняя может быть отрицательной или нулём (по умолчанию).

Пример 1. Примеры функции round()

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
?>

Замечание: PHP по умолчанию не может правильно обрабатывать строки типа "12,300.2" .

Замечание: параметр precision был добавлен в PHP 4.

Оцените статью
Добавить комментарий

Adblock
detector