Redondeo de decimales con javascript

366 views
Skip to first unread message

Mikel Gómez

unread,
Oct 17, 2006, 7:44:16 PM10/17/06
to i.focus
Una sencilla función javascript para redondear cantidades numéricas
con decimales:

function redondeo(cantidad, decimales) {
// Por defecto, sin decimales, se devuelve parte entera.
var decimales = (decimales) ? parseInt(decimales, 10) : 0 ;
return
Math.round(cantidad*Math.pow(10,decimales))/Math.pow(10,decimales);
}

Es recomendable el uso de alguna función de estas características
para evitar resultados con decimales periódicos o problemas con
cálculos javascript de doble precisión.

*** Ejemplo de resultado con decimal periódico:
javascript:alert(1/3)
Resultado: 0.33333333333333...

javascript:alert(redondeo(1/3, 2))
Resultado: 0.33

*** Ejemplo de problema con cálculos javascript de doble precisión:
(problema similar en múltiples lenguajes)

javascript:alert(1 - 0.8 - 0.2)
Resultado: -5.551115123125783e-17

javascript:alert(redondeo(1 - 0.8 - 0.2), 2)
Resultado: 0

*** Página para pruebas:
http://ikax.net?redondeo

Reply all
Reply to author
Forward
0 new messages