Estoy creando una aplicación de presupuesto con javascript. Debo permitir que javascript haga la mayoría de las operaciones. Así que tengo algunos controles donde el usuario cambia la cantidad deseada para una categoría y mi aplicación muestra los nuevos montos para las subcategorías. lo que si tengo + Auto $ 50.23 - Gas $ 30.25 - Mantenimiento $ 6,27 - Seguro $ 10,02 - ...Operaciones de divisas con javaScript?
lo tanto, si el usuario cambia de Auto 50.23 a 90.00, las cantidades por gas, mantenimiento, seguros, etc. reflejaría el% de aumento en su categoría principal.
El problema es que después de algunas operaciones pierdo precisión y crea algunos errores desagradables. La mayoría de las veces los números no se suman (como deberían). Después de cambiar la cantidad de auto unas veces y luego configurarlo en 0, las otras cantidades no siempre van a 0, y a veces van por debajo de 0 dándome un NaN, así que si luego cambio Auto por algo mayor que 0, mi NaN se quedará NaN.
Acabo de escuchar a alguien decir que las fracciones en javascript son aproximaciones, que es otro problema. Traté de google para ver si esto es un hecho, pero no pude encontrar nada (quizás no busqué los términos correctos)
Estoy seguro de que algunos de ustedes se han encontrado con problemas similares, ¿qué harían? ¿sugerir? Alguien sugirió multiplicar mi número original por 100 y luego hacer todas las operaciones, pero me temo que esto no me ayudará a salir del problema de perder precisión.
¿Alguna idea?
¡Agradeceré su ayuda!
Cada número en JS es un número en coma flotante, pero no debe perder tanta precisión en los números de 2 posiciones. Necesitarás literalmente miles o millones de iteraciones antes de que el redondeo de FP se convierta en un problema. ¿Puedes mostrar el bit relevante de tu código donde haces los cálculos? No necesitamos toda la página, solo esa pequeña parte. –
bien, probablemente pueda crear su propia clase con propiedades como dólares y centavos (todo en números enteros) e implementar sus propias operaciones – spacevillain
fp los errores de suma son los errores más comunes en javascript. – jzilla