PHP round half up doesn't work
1100 просмотра
3 ответа
I have this code
<?php echo round(0.572,2,PHP_ROUND_HALF_UP);?>
I want to round two decimals to half up, I expect a value as 0.58... but the above code print 0.57
How can I do this?
Автор: Funny Frontend Источник Размещён: 12.11.2019 09:14Ответы (3)
1 плюс
if you expect 0,58 you don't have to use a "half round" but the ceil function
$v = 0.575;
echo ceil($v * 100) / 100; // show 0,58
Автор: mmm
Размещён: 01.07.2015 06:21
1 плюс
The value 0.572
can not be rounded up to 0.58
, because the third decimal, 2
, is less than half (or 5
). If you were doing round(0.575, 2, PHP_ROUND_HALF_UP)
you would get 0.58
. In this case 0.57
is the correct rounded value.
If you wish to always round up from the 3rd decimal, regardless of its value you could use ciel()
instead, but it requires a little additional math. A simple function to demonstrate rounding up always would be...
function forceRoundUp($value, $decimals)
{
$ord = pow(10, $decimals);
return ceil($value * $ord) / $ord;
}
echo forceRoundUp(0.572, 2); // 0.58
echo forceRoundUp(0.57321, 4); // 0.5733
Автор: Sherif
Размещён: 01.07.2015 06:17
0 плюса
function round_up($value, $places)
{
$mult = pow(10, abs($places));
return $places < 0 ?
ceil($value / $mult) * $mult :
ceil($value * $mult) / $mult;
}
echo round_up(0.572,2);
Hope this will work for you!!
Автор: Amol Bansode Размещён: 01.07.2015 06:24Вопросы из категории :
- php Как вы отлаживаете PHP-скрипты?
- php Заставьте XAMPP / Apache обслуживать файл вне htdocs
- php Как включить файлы PHP, которые требуют абсолютного пути?
- php Скрипт входа со скрытыми кнопками
- php How can I find unused functions in a PHP project
- php Эффективное изменение размера JPEG изображения в PHP
- php MySQL или PDO - каковы плюсы и минусы?
- php Как бы вы внедрили аутентификацию на основе FORM без резервной базы данных?
- php Самый простой способ профилировать скрипт PHP
- php Изображения в PHP
- php PHP эквивалент .NET / Java toString ()
- php В чем разница между | и || или операторы?
- php Пул соединений в PHP
- php PHP выполнить фоновый процесс
- php htmlentities () против htmlspecialchars ()
- php Генерирование (псевдо) случайных буквенно-цифровых строк
- php Какой лучший способ получить дробную часть числа с плавающей точкой в ??PHP?
- php Как реализовать кеш HTML для сайта PHP?
- php Как я могу предотвратить SQL-инъекцию в PHP?
- php PHP: Как расширить / сжать Tinyurls