Redondear números en JavaScript usando ceil(), floor() y round()

En esta guía, veremos cómo redondear un número a un número entero (número entero) en JavaScript, utilizando ceil(), floor() y round(), con ejemplos prácticos.

Introducción

En este artículo, veremos cómo redondear un número a un número entero (número entero) en JavaScript.

JavaScript proporciona tres métodos diferentes para lograr este objetivo: el método round(), el método ceil() y el método floor().

Todos estos son métodos estáticos del objeto Math. Esto significa que serán llamados directamente a través de Math.method_name(), no como un método de una instancia del objeto Math - Math no tiene constructor.

{.icon aria-hidden=“true”}

Nota: Estos métodos solo se pueden llamar en números, todo lo demás resultará en un valor NaN. La única excepción es cuando se llama en null: los métodos de llamada en null siempre devolverán 0.

El método ceil()

El nombre de este método es en realidad una abreviatura de la palabra techo, por lo que su nombre suena automáticamente como una campana que redondea un número al valor entero más cercano más grande que el número actual.

Si el número ya es un número entero, no hay nada que redondear, por lo que simplemente devolverá el número entero:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
let x = 4.7
console.log(Math.ceil(x))
// Output: 5

let y = -3.2
console.log(Math.ceil(y))
// Output: -3

let z = "something not a number"
console.log(Math.ceil(z))
// Output: NaN

console.log(Math.ceil(null))
// Output: 0

Usarás ceil() cuando específicamente quieras redondear al siguiente límite superior. 5.1 se redondea a 6, por lo que si desea redondear al entero más cercano, usará la función redondear(), cubierta en una sección posterior de esta guía.

El método piso()

Similar a ceil(), el método de floor() también se elige cuidadosamente para cumplir su propósito. Redondea el entero al entero más cercano más pequeño que el actual:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
let x = 4.7
console.log(Math.floor(x))
// Output: 4

let y = -3.2
console.log(Math.floor(y))
// Output: -4

let z = "something not a number"
console.log(Math.floor(z))
// Output: NaN

console.log(Math.floor(null))
// Output: 0

El método redondo()

El método round() se puede ver como un método dos en uno, que contiene ceil() y floor(). Redondea el número al entero más cercano: "supera" el número, o "lo baja", en función de su valor:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
let x = 4.7
console.log(Math.round(x))
// Output: 5

let y = 4.2 
console.log(Math.round(y))
// Output: 4

let z = 4.5
console.log(Math.round(z))
// Output: 5

console.log(Math.round(null))
// Output: 0

Todo hasta x.49 se redondeará al valor más bajo, mientras que todo lo que supere ese valor se redondeará al valor más alto.

Conclusión

En este artículo rápido, echamos un vistazo a algunos de los métodos que se pueden usar para redondear un número no entero en JavaScript. Algunas notas clave para sacar de este artículo son:

  • Math.ceil() - redondea el número a un valor más alto
  • Math.floor() - redondea el número a un valor más bajo
  • Math.round() - redondea el número a un valor más bajo o más alto, dependiendo del número
  • Cuando se llama con null como argumento, los métodos siempre devuelven 0
  • Cuando se llama con cualquier cosa que no sea un número o nulo como argumento, los métodos siempre devuelven NaN