Какое решение было бы иметь:
7.1
=> 7
7.5
=> 7
7.8
=> 8
Так что мне нужно round
номер или floor
в зависимости от числа после запятой.
Как это сделать?
Благодарю.
Вы должны быть в состоянии использовать константу, PHP_ROUND_HALF_DOWN
, чтобы иметь round
функционировать вниз, когда он на полпути.
echo round(7.1, 0, PHP_ROUND_HALF_DOWN) . "\n";
echo round(7.5, 0, PHP_ROUND_HALF_DOWN) . "\n";
echo round(7.8, 0, PHP_ROUND_HALF_DOWN) . "\n";
Выход:
7
7
8
От руководство:
Округлите значение с точностью до десятичного знака с точностью до нуля, когда оно находится на полпути. Делая 1,5 в 1 и -1,5 в -1.
PHP Demo: https://eval.in/427706
Один из способов сделать это — разделить значение на десятичную (или запятую — в вашем примере используются десятичные дроби) и проверить конечный номер, чтобы увидеть, хотите ли вы использовать пол или потолок.
$test = 7.6
$arrayTest = explode(".",$test);
if(isset($arrayTest[1]) && $arrayTest[1] > 5) {
//do something
} else {
//do something else
}