![]() |
Rechenfehler
Hallo,
ich erhalte einen Rechenfelher bei folgendem Code: var gesamtlaenge: extended; gesamtlaenge:=gesamtlaenge+strtofloat(edit9.text); Wenn man in edit9 den Wert 2,36 eingibt und anschließend die Addition ausführt und dann in edit9 -2,36 eingibt müsste man 0 als Ergebnis in gesamtlaenge erhalten. Es steht aber in gesamtlaenge -1,242E-16 Dies passiert aber nur bei 2,36. Kann mir jemand weiterhelfen, enthalten die Mathematischen Bibliotheken von Delphi Fehler? Gruß rado |
Re: Rechenfehler
Zitat:
Welchen Wert hat denn gesamtlaenge wenn 2,36 hinzuaddiert wird ? Außerdem schau mal in der DelphiHilfe nach StrToFloatF. EDIT : StrToFloatF -.- Gehts mir noch gut ?^^ Sry das war Schwachsinn... überlest das hier einfach :mrgreen: |
Re: Rechenfehler
das sind übliche Rundungsfehler
Delphi-Quellcode:
//EDIT
function NullVal(const Value,Epsilon: Extended): Extended;
begin if Abs(Value)<Epsilon then Result := 0 else Result := Value; end; Aufruf:
Delphi-Quellcode:
A := NullVal(A,1E-10);
|
Re: Rechenfehler
Zitat:
|
Re: Rechenfehler
Zitat:
Die Variable ist mit 0 gefüllt. gesamtlaenge:=0; Gruß rado |
Re: Rechenfehler
Ich kram dann nochmals, wie ich es gern mache,
![]() Gruss, Fabian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz