Introducción
Ya vimos cómo remover decimales de un número en JavaScript. Esto funciona bien para quitar únicamente los decimales, pero habrá ocasiones en las que necesitemos redondear números en JavaScript.
Ya sea redondear hacia arriba, redondear hacia abajo o redondear dependiendo del número, no es lo mismo que quitar las fracciones.
Redondear números en JavaScript
Hay 3 formas en las que vamos a querer redondear números. Veamos cómo hacerlo en JavaScript.
Redondear hacia arriba
Cuando redondeamos hacia arriba redondeamos hacia el siguiente entero más próximo, sin importar los decimales. Por ejemplo, 2.01 y 2.99 se convierten en 3.
Para redondear hacia arriba usamos Math.ceil y le pasamos un número como argumento. Veamos este ejemplo:
console.log(Math.ceil(2.01)); // 3
console.log(Math.ceil(2.99)); // 3
Así podemos redondear hacia el siguiente entero.
Redondear hacia abajo
Redondear hacia abajo es obtener el número entero anterior más cercano. Siguiendo los ejemplos de arriba, 2.01 y 2.99 se convierten en 2.
Para esto usamos el método Math.floor que igualmente recibe un número y lo devuelve redondeado hacia abajo.
console.log(Math.floor(2.01)); // 2
console.log(Math.floor(2.99)); // 2
Así es como redondeamos un número hacia abajo.
Redondear dependiendo de la parte decimal
Este método funciona para redondear un número dependiendo de su parte decimal. Si su parte decimal es mayor o igual a 5, se redondea hacia arriba. Si no, se redondea hacia abajo.
Por ejemplo, el número 2.5 se redondea a 3 porque su parte decimal es mayor o igual que 5. Sin embargo, el número 2.4999 se redondea a 2 porque su parte decimal es menor a 5.
Para poder hacer esto, llamamos a Math.round
y le pasamos un número.
Veamos algunos ejemplos:
console.log(Math.round(2.01)); // 2
console.log(Math.round(100.51)); // 101
console.log(Math.round(96.90)); // 97
console.log(Math.round(1.05)); // 1
Conclusión
Así es como se redondean números en JavaScript. Si quieres forzar el redondeo usa ceil
o floor
, y si quieres que se use la parte decimal, llama a round
.
Pingback: Redondear números en C - Parzibyte's blog