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?
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.
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.
Creo que no es necesario hacer "post para boludos", con este trozo de código basta.
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.
Se supone que vienes aquí para una duda concreta, no para que haga tu trabajo.
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
¡Gracias a ti por seguirnos!
Muy Bueno gracias por compartir tu conocimiento.
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)
Excelente!!!
Bastante bueno!!!