![]() |
Zahlen für Vergleich in der Auflösung begrenzen
Moin,
Ich habe zwei Arrays mit reals zu vergleichen. Die Zahlen sind im Evaluator sichtbar gleich (das würde auch für den Vergleich ausreichen), werden aber als ungleich erkannt, wohl weil sie zwischendrin mal mit unterschiedlicher Auflösung verarbeitet wurden. Kann man die Auflösung von Fließkommazahlen so maskieren, um diesen Vergleich möglich zu machen? Grüße, Messie |
Re: Zahlen für Vergleich in der Auflösung begrenzen
vielleicht reicht dir schon ein isequal
|
Re: Zahlen für Vergleich in der Auflösung begrenzen
Ich errinere mich, dass ich von "Real" deswegen abgekommen bin. Jetzt benutze ich stattdessen "Currency".
Weiß nicht, ob es dir hilft?!? |
Re: Zahlen für Vergleich in der Auflösung begrenzen
Ach, ich würde immer zur Berechnung dieser Fließkommawerte IMMER denselben Datentyp benutzen! Das ist dann wohl auch dein Problem.
|
Re: Zahlen für Vergleich in der Auflösung begrenzen
Zitat:
Zitat:
Danke, Messie |
Re: Zahlen für Vergleich in der Auflösung begrenzen
Zitat:
Und bei dem Namen... |
Re: Zahlen für Vergleich in der Auflösung begrenzen
hm... keine Ahnung ob das schneller als 2 RoundTo ist:
Delphi-Quellcode:
function FloatEqual(const a,b: Extended): Boolean;
const MAX_DIFF = 0.0001; // deine maximale differenz begin Result := Abs(a - b) <= MAXDIFF; end; |
Re: Zahlen für Vergleich in der Auflösung begrenzen
Das ist genau die Funktionsweise von isequal, wobei bei der offiziellen Funktion sicherlich ein besserer Wert für MAXDIFF gewählt wurde. Und sie wurde sicherlich optimiert.
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
|
Re: Zahlen für Vergleich in der Auflösung begrenzen
Gut möglich... aber unter D7 hab ich die Funktion nich... auch nich in der Math. Dann wirds der Threadertseller im 6er sicher nicht haben :zwinker:
EDIT: oki, oki... heisst SameValue :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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