есть ли способ округлить до меньшего с любым числом ниже .50, включая .50?
Например:
round(1.49) => 1
round(1.51) => 2
round(1.50) => 2
Есть ли способ сделать это так:
round(1.49) => 1
round(1.51) => 2
round(1.50) => 1
использование PHP_ROUND_HALF_DOWN
флаг
echo round(1.49, 0, PHP_ROUND_HALF_DOWN);
echo PHP_EOL;
echo round(1.50, 0, PHP_ROUND_HALF_DOWN);
echo PHP_EOL;
echo round(1.51, 0, PHP_ROUND_HALF_DOWN);
Вычтите 0.5 из своего числа и используйте ceil
на результат.
Например. ceil(1.51 - 0.5) = 2
, ceil(1.50 - 0.5) = 1
Это извращение идиоматического способа округления без round
функция. Вычитание удовлетворяет ваше желание округлить 1/2 путевой точки вниз. Дополнительные проверки необходимы для негативов.