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

round

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

Parameters

Необязательное количество десятичных цифр для округления до.

Если precision положительна, num округляется до precision значащих цифр после десятичной точки.

Если precision является отрицательной, num округляется до precision значащих цифр перед десятичной точкой, т.е. до ближайшего кратного pow(10, -precision) , например , для precision -1 num округляется до десятков, для precision из — От 2 до сотен и т. Д.

Используйте одну из следующих констант для указания режима,в котором происходит округление.

Constants Description
PHP_ROUND_HALF_UP Округляет num от нуля, когда оно находится на полпути, превращая 1,5 в 2 и -1,5 в -2.
PHP_ROUND_HALF_DOWN Округляет num до нуля, когда оно находится на полпути, превращая 1,5 в 1 и -1,5 в -1.
PHP_ROUND_HALF_EVEN Округляет num до ближайшего четного значения, когда оно находится на полпути, превращая 1,5 и 2,5 в 2.
PHP_ROUND_HALF_ODD Округляет num до ближайшего нечетного значения, когда оно находится на полпути, превращая 1,5 в 1 и 2,5 в 3.

Return Values

Значение, округленное до заданной precision как число с плавающей запятой.

Читайте также:  Java eclipse and maven

Changelog

Version Description
8.0.0 num больше не принимает внутренние объекты, поддерживающие числовое преобразование.

Examples

Пример # 1 раунд () примеры

 var_dump(round(3.4)); var_dump(round(3.5)); var_dump(round(3.6)); var_dump(round(3.6, 0)); var_dump(round(5.045, 2)); var_dump(round(5.055, 2)); var_dump(round(345, -2)); var_dump(round(345, -3)); var_dump(round(678, -2)); var_dump(round(678, -3)); ?>

Выводится приведенный выше пример:

float(3) float(4) float(4) float(4) float(5.05) float(5.06) float(300) float(0) float(700) float(1000)

Пример # 2 Как precision влияет на число с плавающей запятой

 $number = 135.79; var_dump(round($number, 3)); var_dump(round($number, 2)); var_dump(round($number, 1)); var_dump(round($number, 0)); var_dump(round($number, -1)); var_dump(round($number, -2)); var_dump(round($number, -3)); ?>

Выводится приведенный выше пример:

float(135.79) float(135.79) float(135.8) float(136) float(140) float(100) float(0)

Пример # 3 Примеры mode

 echo 'Rounding modes with 9.5' . PHP_EOL; var_dump(round(9.5, 0, PHP_ROUND_HALF_UP)); var_dump(round(9.5, 0, PHP_ROUND_HALF_DOWN)); var_dump(round(9.5, 0, PHP_ROUND_HALF_EVEN)); var_dump(round(9.5, 0, PHP_ROUND_HALF_ODD)); echo PHP_EOL; echo 'Rounding modes with 8.5' . PHP_EOL; var_dump(round(8.5, 0, PHP_ROUND_HALF_UP)); var_dump(round(8.5, 0, PHP_ROUND_HALF_DOWN)); var_dump(round(8.5, 0, PHP_ROUND_HALF_EVEN)); var_dump(round(8.5, 0, PHP_ROUND_HALF_ODD)); ?>

Выводится приведенный выше пример:

Rounding modes with 9.5 float(10) float(9) float(10) float(9) Rounding modes with 8.5 float(9) float(8) float(8) float(9)

Пример # 4 mode с примерами precision

 echo 'Using PHP_ROUND_HALF_UP with 1 decimal digit precision' . PHP_EOL; var_dump(round( 1.55, 1, PHP_ROUND_HALF_UP)); var_dump(round(-1.55, 1, PHP_ROUND_HALF_UP)); echo PHP_EOL; echo 'Using PHP_ROUND_HALF_DOWN with 1 decimal digit precision' . PHP_EOL; var_dump(round( 1.55, 1, PHP_ROUND_HALF_DOWN)); var_dump(round(-1.55, 1, PHP_ROUND_HALF_DOWN)); echo PHP_EOL; echo 'Using PHP_ROUND_HALF_EVEN with 1 decimal digit precision' . PHP_EOL; var_dump(round( 1.55, 1, PHP_ROUND_HALF_EVEN)); var_dump(round(-1.55, 1, PHP_ROUND_HALF_EVEN)); echo PHP_EOL; echo 'Using PHP_ROUND_HALF_ODD with 1 decimal digit precision' . PHP_EOL; var_dump(round( 1.55, 1, PHP_ROUND_HALF_ODD)); var_dump(round(-1.55, 1, PHP_ROUND_HALF_ODD)); ?>

Выводится приведенный выше пример:

Using PHP_ROUND_HALF_UP with 1 decimal digit precision float(1.6) float(-1.6) Using PHP_ROUND_HALF_DOWN with 1 decimal digit precision float(1.5) float(-1.5) Using PHP_ROUND_HALF_EVEN with 1 decimal digit precision float(1.6) float(-1.6) Using PHP_ROUND_HALF_ODD with 1 decimal digit precision float(1.5) float(-1.5)

See Also

  • ceil () — округляет дроби вверх
  • floor () — округление дробей вниз
  • number_format () — Форматирует число сгруппированными тысячами
PHP 8.2

(PHP 4,5,7,8)rewinddir directory handle Сброс потока каталогов,на который указывает dir_handle начало ресурса Directory handle,открытого ранее

(PHP 4,5,7,8)rsort an array in descending order Сортирует массив по местам по значениям в порядке убывания.

(PHP 4,5,7,8)rtrim Удалить пробелы (или другие символы)из конца строки Эта функция возвращает строку с удаленными пробелами (или другими символами).

Источник

PHP round() Function

Tip: To round a number UP to the nearest integer, look at the ceil() function.

Tip: To round a number DOWN to the nearest integer, look at the floor() function.

Syntax

Parameter Values

  • PHP_ROUND_HALF_UP — Default. Rounds number up to precision decimal, when it is half way there. Rounds 1.5 to 2 and -1.5 to -2
  • PHP_ROUND_HALF_DOWN — Round number down to precision decimal places, when it is half way there. Rounds 1.5 to 1 and -1.5 to -1
  • PHP_ROUND_HALF_EVEN — Round number to precision decimal places towards the next even value
  • PHP_ROUND_HALF_ODD — Round number to precision decimal places towards the next odd value

Technical Details

Return Value: The rounded value
Return Type: Float
PHP Version: 4+
PHP Changelog: PHP 5.3: The mode parameter was added

More Examples

Example

Round numbers to two decimals:

Example

Round numbers using the constants:

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

Округление чисел в PHP

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

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

// 4 тестовых значения $value1 = 1.7; $value2 = 1.4; $value3 = 12345678912345.999999999999999999999999999999999; $value4 = 12345678912345.99; // Округление в большую сторону echo ceil($value1); // 2 echo ceil($value2); // 2 echo ceil($value3); // 12345678912346 echo ceil($value4); // 12345678912346 // Округление в меньшую сторону echo floor($value1); // 1 echo floor($value2); // 1 echo floor($value3); // 12345678912346 - обратить внимание echo floor($value4); // 12345678912345 

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

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

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

echo round($value1); // 2 echo round($value2); // 1 echo round($value3); // 12345678912346 echo round($value4); // 12345678912346 

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

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

// данные для проверки $value1 = 1.7; $value2 = 1.74; $value3 = 12345.999999999999999999999999999999999; $value4 = 12345.88; echo round($value1, 2); // 1.7 - нули не добавляются 1.70 echo round($value2, 1); // 1.7 - округление по умолчанию математическое echo round($value3, 5); // 12346 - выход за допустимый диапазон, округление до целого echo round($value4, -1); // 12350 - округление до десятков echo round($value4, -2); // 12300 - округление до сотен echo round($value4, -4); // 10000 - округление до десяти тысяч echo round($value4, -5); // 0 - значение не определено, вышли за диапазон 

Задание способа округления функции 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.

$value1 = 2.5; $value2 = 3.5; echo round($value1, 0, PHP_ROUND_HALF_EVEN); // 2 echo round($value2, 0, PHP_ROUND_HALF_EVEN); // 4 

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

$value1 = 104; $value2 = 111.5; $value3 = 144; $value4 = 1; // Используя функцию round, не всегда ожидаемое поведение // Лучше использовать разделить и умножить на 10, как в функции ceil ниже // до 10 echo round($value1, -1); // 100 echo round($value2, -1); // 110 echo round($value3, -1); // 140 echo round($value4, -1); // 0 - выход за диапазон // до 100 echo round($value1, -2); // 100 echo round($value2, -2); // 110 echo round($value3, -2); // 140 echo round($value4, -2); // 0 - вместо округления, 0 // Функция ceil выдает ожидаемый результат // до 10 echo ceil($value1/10) * 10; // 110 echo ceil($value2/10) * 10; // 120 echo ceil($value3/10) * 10; // 150 echo ceil($value4/10) * 10; // 10 // до 100 echo ceil($value1/100) * 100; // 200 echo ceil($value2/100) * 100; // 200 echo ceil($value3/100) * 100; // 200 echo ceil($value4/100) * 100; // 100 

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

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

$value1 = 104; $value2 = 105; $value3 = 150; $value4 = 200; echo ceil($value1/5) * 5; // 105 echo ceil($value2/5) * 5; // 105 echo ceil($value3/5) * 5; // 150 echo ceil($value4/5) * 5; // 200 

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

echo ceil(($value2+5/2)/5)*5; // 110 вместо 105 

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

// значения $n = 50.25; $x = 5; // округление до ближайшего числа кратного 5 echo (round($n)%$x === 0) ? round($n) : round(($n+$x/2)/$x)*$x; // 50 // округление вначале до целого, после до ближайшего кратного 5 echo (ceil($n)%$x === 0) ? ceil($n) : round(($n+$x/2)/$x)*$x; // 55 

Источник

Округление чисел в PHP

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

Округление к ближайшему целому

Функция round($num, $precision) возвращает округлённое значение $num с указанной точностью $precision (количество цифр после запятой).

echo round(111.455); // 111 // Один знак после запятой echo round(111.455, 1); // 111.5 // Два знака после запятой echo round(111.455, 2); // 111.46

Также функция round() может округлять целую часть числа, для этого нужно указать отрицательный $precision .

// Один знак перед запятой echo round(111.455, -1); // 110 // Два знака перед запятой echo round(111.455, -2); // 100

Третьим аргументом функции можно повлиять способ округления.

PHP_ROUND_HALF_UP Округляет от нуля, когда следующий знак находится посередине.
То есть округляет 1.5 в 2 и -1.5 в -2.
PHP_ROUND_HALF_DOWN Округляет к нулю, когда следующий знак находится посередине.
То есть округляет 1.5 в 1 и -1.5 в -1.
PHP_ROUND_HALF_EVEN Округляет до ближайшего чётного значения, когда следующий знак находится посередине.
То есть округляет 1.5 и 2.5 в 2.
PHP_ROUND_HALF_ODD Округляет до ближайшего нечётного значения, когда следующий знак находится посередине.
То есть округляет 1.5 в 1 и 2.5 в 3.

Округление к большему

Функция ceil($num) – всегда округляет число в большую сторону.

echo ceil(1.1); // 2 echo ceil(1.5); // 2 echo ceil(1.6); // 2

Источник

Оцените статью