Categorías: Tutoriales

Redondear números decimales en JavaScript

Seguro que hay mejores formas de hacerlo, así que a través de los comentarios me encantaría conocerlas, sin embargo, esta es la que yo uso hasta ahora y me funciona correctamente. Normalmente, trato de redondear los números en la parte del servidor, pero en ocasiones tendremos que hacerlo en el cliente y por eso traigo esta función:

function redondeo2decimales(numero)
{
var flotante = parseFloat(numero);
var resultado = Math.round(flotante*100)/100;
return resultado;
}

Como veis, nos basamos en la función Math.round que redondea al entero más cercano.

Podríamos crear una función que redondeara a cualquier número de decimales, sería así:

function redondeo(numero, decimales)
{
var flotante = parseFloat(numero);
var resultado = Math.round(flotante*Math.pow(10,decimales))/Math.pow(10,decimales);
return resultado;
}

¿Alguna solución más rápida?

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • Bueno, otra opción, que no sé si más rápida:

    var fixed = rounded.toFixed(1);
    parseFloat( number.toFixed(2) );

    En la función redondeo, también se podría considerar calcular la potencia una sola vez:

    var factorConversion = Math.pow(10,decimales);
    var resultado = Math.round(flotante*factorConversion)/factorConversion;

    Supongo que todo será hacer un benchmark.

    • @Siot:disqus muy buenos tus comentarios, en cuanto tenga hueco los hago, dependerá también del intérprete de JS así que habrá que probar en Chrome (WebKit) y Firefox (Gecko) mínimo.

  • ¿Tanto les cuesta poner un puto ejemplo en funcionamiento? o simplemente poner el código para copy-paste y ver su funcionamiento en el navegador. Explican como el culo, no mencionan donde se captura el número ni donde se imprime en la pantalla ni nada. No mamen.

      • No considera aquellos que apenas comienzan con JavaScript, como programador web debes considerar a todos los posibles usuarios que usen tu app web en dif. situaciones y si enseñas tutoriales a otros, no debe ser la excepción.

    • Hay que ser bien idiota como para no ver que el código está escrito de una manera generalizada. En los parámetros se ponen los números :v

  • gracias por publicar el codigo, gracias por compartir, lo he utilizado para mi pagina en creacion

  • Funciona perfect! estaba buscando una solución para esto pero me salía sin decimales y necesitaba obligatoriamente dos quedaron aclaradas mis dudas gracias :)... (si recién son mis primeros pasos con js)

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace