unidad redondeo redondear redondea qué proxima numeros más millar mil mas enteros ejercicios ejemplos decena cercana centena ala php

php - redondeo - ¿Cómo redondear a las mil más cercanas?



redondeo de numeros ejemplos (9)

¿Cómo redondeo un número a su millar más cercano?

function round($var) { // Round it }


Aquí hay una respuesta para redondear a los siguientes mil:

abs(round(($a - 500), -3)) . "/n";

500-999 luego redondea a 0 y 1000-1999 redondea a 1000, etc.

Si quieres que empiece en 1000, entonces hazlo

abs(round(($a + 500), -3)) . "/n";

¡Aclamaciones!


PHP permite una precisión negativa para round como con:

$x = round ($x, -3); // Uses default mode of PHP_ROUND_HALF_UP.

Mientras que una precisión positiva indica dónde redondear después del punto decimal, las precisiones negativas proporcionan la misma potencia antes del punto decimal. Asi que:

n round(1111.1111,n) == ================== 3 1111.111 2 1111.11 1 1111.1 0 1111 -1 1110 -2 1100 -3 1000

Como solución general, incluso para los idiomas que no lo tienen incorporado, simplemente hace algo como:

  • añadir 500 .
  • divídalo por 1000 (y trunque a entero si es necesario).
  • multiplicar por 1000

Esto es, por supuesto, suponiendo que desea el comportamiento PHP_ROUND_HALF_UP . Algunos piensan que el redondeo de los banqueros, PHP_ROUND_HALF_EVEN , es mejor para reducir los errores acumulativos, pero ese es un tema para una pregunta diferente.


Para enteros positivos:

function round($var) { return ($var + 500) / 1000 * 1000; }


Sólo un pequeño cambio, puede ayudar a redondear!

$x = ceil(220.20 / 1000) * 1000; echo $x;


Solo para su información, el cálculo simple de la respuesta de Mikel es más rápido que round() :

Test name Repeats Result Performance calculation 10000 0.030229 sec +0.00% round 10000 0.040981 sec -35.57%

Fuente de prueba here .


Use la http://php.net/manual/en/function.round.php como se menciona en otros carteles de round($number, -3) .

También puede dividir su número por 1,000, redondear al número entero más cercano y luego multiplicar por 1,000.

Además, si desea redondear, puede dividir por 1,000, negar el cociente, forzarlo a un entero, negarlo nuevamente y luego multiplicarlo por 1,000.