unidad redondeo redondear redondea qué proxima primaria para numeros naturales más millar mas ejercicios ejemplos decena cercana centena ala javascript

javascript - redondeo - Redondear el número al millar más cercano, hacia arriba o hacia abajo dependiendo del número



redondeo de numeros ejemplos (3)

Quiero redondear un número al millar más cercano, en el momento en que estoy usando esto:

Math.ceil(value/1000)*1000;

Pero esto siempre aumenta, si escribo 1001, irá a 2000, quiero subir o bajar dependiendo del número, por ejemplo, 1001 va a 1000 o 1400 a 1000 pero 1500 va a 2000

EDITAR:

if(value<1000){ value = 1000; }else{ value = Math.round(value/1000)*1000; }


Al utilizar el método del Número ES3, realiza un redondeo si no se define un lugar decimal.

(value / 1000).toFixed() * 1000



La respuesta original fue:

(value / 1000).toFixed(3) * 1000;

Sin embargo, esto es incorrecto, ya que el valor devolverá el número original exacto, en lugar de afectar el techo / piso en el valor.


Esto hará lo que quieras:

Math.round(value/1000)*1000

ejemplos:

Math.round(1001/1000)*1000 1000 Math.round(1004/1000)*1000 1000 Math.round(1500/1000)*1000 2000


var rest = number % 1000; if(rest > 500) { number = number - rest + 1000; } else { number = number - rest; }

Tal vez un poco directo ... pero esto lo hace

EDIT: por supuesto, esto debería ir en algún tipo de función myRound ()

Leí sobre el problema con la necesidad de redondear hasta 1000. Este comportamiento es contradictorio en comparación con el resto, por lo que tendrá que agregar algo como:

if(number < 1000) { number = 1000; return number; }

encima de tu función;