Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/03/2016, 01:53
eContento
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 11 meses
Puntos: 25
Respuesta: Función para sumar dinero importe exacto

Me temo que en javaScript la suma exacta, exacta, no existe... debido a que implementa el estándar de la aritmética de punto flotante definida en IEEE-754.

¿¿¿Cómo??? Sí, sí... es verdad. Y quien no se lo crea, que abra una consola del navegador, y escriba

Código:
(0.1 + 0.2 == 0.3)
y verá cómo obtiene un "false" como la copa de un pino.

Y es que
Código:
0.1 + 0.2 = 0.30000000000000004
Así que toFixed es necesario para fijar la precisión con la que estás dispuesto a trabajar.

Realmente esto les pasa a todos los lenguajes EcmaScript y a todos los demás que implementan este estándar. Si alguien tiene más interés en entender por qué pasa esto, en el artículo "Why is 0.1+0.2 not equal to 0.3 in most programming languages?" lo explican muy bien (en inglés).

Espero haberte orientado sobre cómo trabajar con cantidades.

Un saludo
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles