javascript multiplicacion incorrecta

  • Thread starter Thread starter Oscarin
  • Start date Start date
O

Oscarin

Buenas a todos.. una consulta tengo una aplicacion en asp.net y un
funcion en javascript me lee dos text y los multiplica.
Ambos text ya estan validados que ingresen solo numeros enteros o con
decimal y con punto como separador de decimales.. pero cuando
multiplico 23.4 * 1.5 me devuelve 35.099999994 en vez del correcto 35.1
claro que podria redondearlos pero tendria que tener criterios de
redondeo.. porque el calculo lo utiliza el sistema para hacer cobros..
asi que nose si hay algo que no este tomando en cuenta agradeceria
cualquier idea
 
Ese comportamiento es normal en cualquier lenguage de programación. En muchos
casos te vas a encontrar con "errores" como ese. Lo pongo entre comillas
porque no es un error en sí, si no que es problema de la precisión de punto
flotante y como se representa ésta en el formato de la IEEE.

Para superar eso, podrías inventar un truco, por ejemplo,

(23.4 * 1000000 * 1.5) / 1000000

En este caso te dará el resultado correcto.

Salu2
Jaime
 
Back
Top