Я пытаюсь округлить числа с помощью PHP.
Мне удалось сделать это, если значение имеет десятичный знак, используя этот метод ниже.
$val = floor($val * 2) / 2;
echo 'hello'. $val;
Если значение, которое я пытаюсь округлить, не имеет десятичного знака и приведенный выше код не работает.
Значения, которые я пытаюсь округлить.
32456 => 32000
4567 => 4000
38999 => 38000
Есть несколько способов сделать это. Наиболее распространенный способ (для округления до ближайшей 1000) будет выглядеть примерно так:
function roundDown1000($n)
{
return floor($n / 1000) * 1000;
}
В более общем смысле:
function roundDown($n, $increment)
{
return floor($n / $increment) * $increment;
}
Если бы вы хотели, вы могли бы также сделать $n - ($n % 1000)
, но это даст странные результаты для $n < 0
,
Других решений пока нет …