Ver Mensaje Individual
  #9  
Antiguo 29-04-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Puede que si:

http://randomascii.wordpress.com/201...-compare-them/

Mas detalles en:

http://randomascii.wordpress.com/201...int-precision/

En resumen:
Cita:
IIF(8.99 = CAST(8.99 AS DOUBLE PRECISION), 1, 2)
Es una comparación/afirmación incorrecta. Por eso te puse el link de http://programmers.stackexchange.com...-pitfalls?rq=1 donde se muestra que seria mejor que los lenguajes no implementaran la igualdad para floats.

Tambien ahi estaba:

Cita:
Warning: The floating-point type System.Double lacks the precision for direct equality testing.
Que no es firebird pero da una idea.

En el momento que hay un float, no esperes resultados predecibles si cambias de compilador, CPU o arquitectura, a menos que uses una libreria que de esas garantias.

Por ejemplo en:

http://gafferongames.com/networking-...t-determinism/
Cita:
People even report different results on the same machine from run to run, and between debug and release builds. Other folks say that AMDs give different results to Intel machines, and that SSE results are different from x87. What exactly is going on? Are floating point calculations deterministic or not?

Unfortunately, the answer is not a simple “yes” or “no” but a resoundingly limp “maybe?”
Y si, lo de Casimiro es correcto. Si un tipo de datos te falla, entonces la solución es cambiarlo. Si se supone que estas haciendo cálculos financieros inevitablemente usa un tipo de dato money/decimal o almacena como INTEGER los valores y aplica las formulas correctas para ese caso -y asegurate de usar exactamente el mismo tipo a lo largo de toda la cadena de computación, osea, si en FB usas NUMERIC que en Delphi tengas el equivalente!-.

----
Es divertido saber que los aspectos fundamentales de la programación son así de confiables
__________________
El malabarista.

Última edición por mamcx fecha: 29-04-2014 a las 18:11:21.
Responder Con Cita