Как мне округлить число до ближайшей тысячи?
function round($var) {
    // Round it
}
Как мне округлить число до ближайшей тысячи?
function round($var) {
    // Round it
}
PHP допускает отрицательную точность для round, например:
$x = round ($x, -3); // Uses default mode of PHP_ROUND_HALF_UP.
В то время как положительная точность указывает, где округлить после десятичной точки, отрицательные исправления обеспечивают такую же мощность до десятичной точки. Итак:
n    round(1111.1111,n)
==   ==================
 3   1111.111
 2   1111.11
 1   1111.1
 0   1111
-1   1110
-2   1100
-3   1000
Как общее решение, даже для языков, на которых он не встроен, вы просто делаете что-то вроде:
500.1000 (и при необходимости усечь на целое число).1000.Это, конечно, предполагается, что вы хотите поведение PHP_ROUND_HALF_UP. Некоторые считают, что округление банкиров, PHP_ROUND_HALF_EVEN, лучше для уменьшения кумулятивных ошибок, но для темы для другого вопроса.
rounded_number = round(original_number, -3);
		Используйте круглую функцию, как упоминалось другими плакатами round($number, -3).
Вы также можете разделить свой номер на 1000, округлить до ближайшего целого числа, а затем умножить на 1000.
Кроме того, если вы хотите округлить, вы можете разделить на 1000, отрицать частное, принудить его к целому числу, снова отменить его, а затем умножить на 1,000.
Используйте round
Для натуральных чисел:
function round($var) {
    return ($var + 500) / 1000 * 1000;
}
		from: http://us3.php.net/manual/en/function.round.php
$x = round ( $x, -3 );
		Просто для вашей информации простой расчет из Mikel answer быстрее round():
Test name       Repeats         Result          Performance     
calculation     10000           0.030229 sec    +0.00%
round           10000           0.040981 sec    -35.57%
Источник тестирования здесь.
Просто небольшое изменение, может помочь округлить!
$x = ceil(220.20 / 1000) * 1000;
echo $x;
		Вот ответ, чтобы округлить до следующей тысячи:
 abs(round(($a - 500), -3)) . "\n";
500-999, затем раунд до 0 и 1000-1999 раунд до 1000 и т.д.
Если вы хотите, чтобы он начинался с 1000, просто сделайте
 abs(round(($a + 500), -3)) . "\n";
Ура!