![]() |
A > B (Realzahlen-Problem)
Hallo 8)
Ich habe ein Real-Zahlen Problem: VAR a : Real; b : Real; Nun die beiden Zahlen werden auf verschiedenem Wege ermittelt. Das Problem fängt erst bei direktem Vergleich beiden Zahlen IF a > b THEN und jetzt kommt etwas was ich nicht verstehe. In dem Debuger beide Zahlen zeigen den Wert z.B. 100.4. Leider Compieler meint an dieser Stelle das a ist größer als b ??? wie kann ich diesen Fehler beseitigen... Gruß Paul Jr. |
Hi Paul Jr. 8)
*hurrapauljrlebtnoch* Du hast doch selber geschrieben, wo der Hund begraben liegt: Zitat:
|
Hallo Hansa, :D
natürlich Du hast Recht... da a – b ergibt hier eine Zahl: 9.0949470177e-13 Ich werde noch verrückt... muss ich glaube ich wirklich Runden... Wüsstest Du „zufällig“ was an dieser Stelle die sicherste Methode wäre? :lol: Gruß Paul Jr. |
In Delphi 6 gibt es isZero. Damit kannst Du auf Null in einem gewissen Bereich prüfen. Dann sparst Du Dir das Runden.
|
Du schreibst '100.4' als Beispiel. Wenn da nur 1 Nachkommastelle interessant ist, würde ich a und b mit 10 multiplizieren, als integer umwandeln und vergleichen. So mach ichs vorsichtshalber z.B. mit DM ähm EUR-Beträgen (Betrag * 100). Direkte Real-Vergleiche verwende ich grundsätzlich nicht.
|
Hallo Hansa 8) , Hallo Mario 8) ,
danke für Eure Anregungen… das Reicht um eine Lösung zu basteln… Gruß Paul Jr. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 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