Matemáticas con Doubles.

21/07/2003 - 12:20 por Jose Carlos | Informe spam
Estoy sumamente extrañado, y no se si será por algun mal uso que hago al
operar.

double restaAux = 4199059.27 - 4191043.27;

y el resultado es 8015.9999999995343 en vez de 8016.

Que ocurre? los double no operan con precisión? Se debe operar de otra
manera. Gracias.

Jose Carlos.

PD: Pudiera parecer este error cuantitativamente insignificante, pero
cualitativamente es importante, pues a veces lo importante es saber si el
resultado es entero o no. Y en este caso engaña.
 

Leer las respuestas

#1 Tako
21/07/2003 - 12:32 | Informe spam
Prueba con esto:

Decimal restaAux = (decimal)4199059.27 - (decimal)4191043.27;

y echa un vistazo a los números "Decimal" para ver por que te pasaba eso
;)

"Jose Carlos" wrote in message
news:
Estoy sumamente extrañado, y no se si será por algun mal uso que hago al
operar.

double restaAux = 4199059.27 - 4191043.27;

y el resultado es 8015.9999999995343 en vez de 8016.

Que ocurre? los double no operan con precisión? Se debe operar de otra
manera. Gracias.

Jose Carlos.

PD: Pudiera parecer este error cuantitativamente insignificante, pero
cualitativamente es importante, pues a veces lo importante es saber si el
resultado es entero o no. Y en este caso engaña.




Preguntas similares