Округление на PHP

от 2019 - 02 - 15

Рано или поздно вы, как разработчик, столкнётесь с задачей округления дробных чисел на PHP. В этом отношении PHP предоставляет достаточно удобный набор функций.

Итак, перед вами подборка функций округления с описаниями:

1. Стандартный round() — округляет число типа float. [ссылка на подробное описание в первоисточнике]

<?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. Далее ceil() — округляет дробь в большую сторону. [ссылка на подробное описание в первоисточнике]

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

3. Затем floor() — округляет дробь в меньшую сторону. [ссылка на подробное описание в первоисточнике]

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>

Теперь мы добрались до самого интересного, в PHP имеется функция для представления чисел в удобочитаемом текстовом формате с разделением групп.

number_format( $number, $decimals, $dec_point, $thousands_sep );
[ссылка на подробное описание в первоисточнике]
формирует строку из числа с разделением групп тысяч и дробной части.
Принимает 4 аргумента:

number
Форматируемое число.

decimals
Устанавливает число знаков после запятой.

dec_point
Устанавливает разделитель дробной части.

thousands_sep
Устанавливает разделитель тысяч.

<?php

$number = 1234.56;

// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,235

// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>