round округляет float до нуля

Почему выражение round(4.993, -1, PHP_ROUND_HALF_DOWN); возвращает 0 ?


Ответы (1 шт):

Автор решения: MBo

Потому что параметр, до какой цифры округлять, стоит -1, так что округленное значение будет ближайшим кратным 10, из ряда ...-10, 0, 10, 20...

Если precision отрицателен, округление будет производиться слева от запятой. Если абсолютное значение precision больше или равно количеству цифр, результат округления будет равен 0

→ Ссылка