Я знаю, что следующий код удалит все цифры. раунд (число $);
Я хочу округлить числа следующим образом, если число 20,123, мне нужен результат 20, если число 20,567, мне нужен результат 21
Означает, что если значение меньше 0,5, оно должно удалить это значение. Если значение .5 или выше, его следует округлить в большую сторону. Как ? Кто-нибудь поможет?
4 ответа
round($number)
сделает то, что вы хотите:
round(20.156); // 20
round(20.651); // 21
Попробуйте это:
Используйте функции ceil
, floor
, explode
и substr
для достижения вашей ценности.
$num = "20.123";
$arr = explode(".", $num);
if(substr($arr[1], 0, 1) >= 5){
$num = ceil($num);
}else{
$num = floor($num);
}
echo $num;
Результат:
20
Также вы можете использовать функцию round
.
round(20.156); // 20
round(20.651); // 21
function get_decimal_num($number){
$num = explode('.', $number);
return $num[1];
}
$num = 10.5 ; // for example
$val = get_decimal_num($num);
if($val >= 5)
{
$value = (int) $num;
echo $value = $value + 1;
}
if($val < 5)
{
echo $num;
}
Plese check it...
Я уверен, что все работает хорошо.
<?php
$var = 22.443;
$var = number_format($var, 0, '.', '');
echo $var;
?>
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.