Wątek przeniesiony 2015-01-13 22:44 z Delphi i Pascal przez furious programming.

Błąd w sumowaniu elementów typu Double

0

Cześć!
Piszą pewien program trafiłem na ciekawy bajer. Przy dodawaniu kilku liczb typu double wynik wyszedł dziwny.
Przy sumowaniu powinno wyjść "0", natomiast w Delphi wychodzi w zaokrągleniu "8,3".
Gdzie jest błąd?

 
var
  suma: array [0..7] of Double;
begin
  suma[0] := -2.3;
  suma[1] := -0.8;
  suma[2] := 0;
  suma[3] := 0.8;
  suma[4] := 1.4;
  suma[5] := 0.6;
  suma[6] := -0.1;
  suma[7] := 0.4;

  ShowMessage(FloatToStr(Math.Sum(suma)));
end;

Dzięki za pomoc
zygi

1

8.3E-0017 - poczytaj o notacji naukowej.

0

Dzięki _13th_Dragon :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1