Estoy trabajando con delphi 2006 y me he encontrado lo siguiente:
Todas la variables del calculo son Double.
Código Delphi
[-]
saldo := 0;
for I := 0 to mes do
begin
valor := 0;
valor := t_debe [i] - t_haber [i];
saldo := saldo + valor;
end;
if dm1.OraQr_mcoMCO_CUENTA.Value = 409000000 then
showmessage(floattostr(saldo));
saldo := 0;
for I := 0 to mes do
saldo := saldo + t_debe [i] - t_haber [i];
if dm1.OraQr_mcoMCO_CUENTA.Value = 409000000 then
showmessage(floattostr(saldo));
El primer showmessage da 0
y el siguiente da 9,09494701772928E-13
.
EL valor correcto es 0.
¿ es un tremendo fallo ?
¿ es mi ignorancia ?
¿ es azar ?
¿ es delphi 2006 ?
Estoy seguro que tiene una explicación per se me ha quedado el cuerpo con mal sabor del delphi 2006.
¿¿¿ Alguien conoce la explicacìón ???????