числа — PHP round () 0,50 для уменьшения значения

есть ли способ округлить до меньшего с любым числом ниже .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

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);
11

Другие решения

Вычтите 0.5 из своего числа и используйте ceil на результат.

Например. ceil(1.51 - 0.5) = 2, ceil(1.50 - 0.5) = 1

Это извращение идиоматического способа округления без round функция. Вычитание удовлетворяет ваше желание округлить 1/2 путевой точки вниз. Дополнительные проверки необходимы для негативов.

0

По вопросам рекламы [email protected]