![]() |
Rechenfehler in Delphi - wie beheben?
Moin moin,
ich habe gerade eine Procedure geschrieben die nicht richtig funktioniert. tBit = 1e-05 tq = 5e-07
Code:
Wenn ich nun diese Procedure Schritt für Schitt ausführe wird mir für Quantums der 20 angezeigt (ohne Kommastellen) aber die Bedinnung frac(Quantums)=0 ist nicht erfüllt. Deswegen wird 'Fehler' der Wert 3,55..e-15 zugewiesen.
Quantums:=tBit/tq; // da kommt genau 20 raus, mit nix dach dem Komma
if frac(Quantums)=0 then // wenn nach dem Komma 0 ist dann das hier ausführen else // wenn nach dem Komma nicht 0 ist dann das hier ausführen Fehler:=frac(Quantums); Was tun ??? :gruebel: ciao P.S. Alle Werte sind als Double deklariert. |
Re: Rechenfehler in Delphi - wie beheben?
Hai Quake,
schaue Dir mal die Funktion IsZero an. Die könnte dir sicher helfen. |
Re: Rechenfehler in Delphi - wie beheben?
Wow super schnelle Antwort, Danke :bounce2:
die meinst also in der Art :
Code:
if IsZero(Quantums-int(Qantums),1e-12) then
. . . |
Re: Rechenfehler in Delphi - wie beheben?
Danke, ja funktioniert. :bounce2:
P.S. Nur für alle die es auch interessiert SameValue sollte auch funktionieren |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 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