Saltar al contenido

Redondeo al 0.05 más cercano en JavaScript

Solución:

Multiplica por 20, luego divide por 20:

(Math.ceil(number*20)/20).toFixed(2)

La respuesta de Rob con mi adición:

(Math.ceil(number*20 - 0.5)/20).toFixed(2)

De lo contrario, siempre se redondea al 0,05 más cercano.

** ACTUALIZAR **

Lo siento, se ha señalado que esto no es lo que quería el póster original.

Yo optaría por el estándar de dividir realmente por el número al que lo estás factorizando, y redondearlo y multiplicarlo nuevamente después. Ese parece ser un método de trabajo adecuado que puede usar con cualquier número y mantener la imagen mental de lo que está tratando de lograr.

var val = 26.14,
    factor = 0.05;

val = Math.round(val / factor) * factor;

Esto funcionará para decenas, centenas o cualquier número. Si está redondeando específicamente al número más alto, utilice Math.ceil en lugar de Math.round.

Otro método específicamente para redondear solo a 1 o más lugares decimales (en lugar de la mitad de un lugar) es el siguiente:

Number(Number(1.5454545).toFixed(1));

Crea una cadena de números fijos y luego la convierte en una cadena real. Number.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *