Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Double Werte vergleichen (https://www.delphipraxis.net/200794-double-werte-vergleichen.html)

Rollo62 27. Mai 2019 08:34

AW: Double Werte vergleichen
 
Delphi-Quellcode:
   if System.Math.SameValue(1.0, 10.0, 100.0) then ...
Wäre das deiner Meinung nach unzulässig ?
Wenn ja, warum.

Daniel 27. Mai 2019 09:03

AW: Double Werte vergleichen
 
Mit Blick auf die Ausgangsfrage, die die Nutzung des ">="-Operatus suggeriert, scheint das schlicht ein anderer Ansatz zu sein.
Zudem haben wir - trotz der dürftigen Informationslage - keinen Hinweis darauf, dass entsprechend große Toleranzen hier gewünscht sind.

mkinzler 27. Mai 2019 09:08

AW: Double Werte vergleichen
 
Zitat:

Delphi-Quellcode:
   if System.Math.SameValue(1.0, 10.0, 100.0) then ... Wäre das deiner Meinung nach unzulässig ?
Wenn ja, warum.
Nein. In diesem Beispiel würde auch eine Toleranz von 10 schon zur Gleichheit führen.
Der TE möchte aber nicht auf die Gleichheit zweier Werte Prüfen sondern auf >= und da wäre das Äquivalent mit konfigurierbarer Toleranz ja eher System.Math.CompareValue.

Die Vergleiche feuern bei mir beide nicht (wie ich es auch erwarten würde).
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  a, b: Double;
begin
  a := 1.0;
  b := 10.0;
  if a>=b then Button1.Caption := 'Ups';
  if System.Math.CompareValue(a,b, 10) = 1 then Button1.Caption := 'OOh';

end;

bernau 27. Mai 2019 10:49

AW: Double Werte vergleichen
 
Alles Spekulation. Ohne einen Schnipsel Beispielcode bringt keine Diskussion etwas.

hoika 27. Mai 2019 11:52

AW: Double Werte vergleichen
 
Hallo,
Zitat:

Ich habe A := 1.0 und B := 10.0.
Das ist doch Code.

Ich denke aber, nicht der richtige ... ;)

DieDolly 27. Mai 2019 11:53

AW: Double Werte vergleichen
 
Ich kann Entwarnung geben. Ich konnte erst jetzt wieder auf den Code gucken. Ich habe in der Testausgabe dummerweise zwei Variablen vertauscht. :pale:

Luckie 27. Mai 2019 12:17

AW: Double Werte vergleichen
 
Hier der passende Smiley für dich: :wall:

:mrgreen:

DieDolly 27. Mai 2019 12:34

AW: Double Werte vergleichen
 
3 davon würden besser passen. Augen auf beim ... testen.

p80286 27. Mai 2019 13:19

AW: Double Werte vergleichen
 
:shock:
Wer hätte das gedacht.:wink:

Ist aber wohl den meisten schon passiert.

Gruß
K-H

Amateurprofi 27. Mai 2019 16:41

AW: Double Werte vergleichen
 
Zitat:

Zitat von Rollo62 (Beitrag 1433184)
Zitat:

Zitat von Amateurprofi (Beitrag 1433180)
Ihr Lieben,
die Hinweise auf die Vergleichstoleranz mögen ja ganz nett sein, aber wenn man 1.0 mit 10.0 vergleicht, dann braucht man keine Vergleichstoleranz.
Vielleich zeigt Dolly uns mal etwas Code.

Wer sagt denn das eine Vergleichstoleranz nicht 10.0 oder 100.0 oder 1000.0 sein kann ?
Meiner Meinung nach gibt es immer eine, je nach Aufgabenstellung.

Wo soll denn da eine Vergleichstoleranz 10.0 oder 100.0 oder 1000.0 herkommen?
Lies doch mal #1.
DieDolly schrieb
Zitat:

Ich habe A := 1.0 und B := 10.0.
Wenn ich nun if A >= B vergleiche erhalte ich komischerweise True.
Bei A >= B ist keine Vergleichstoleranz im Spiel, denn es werden 2 ganze Zahlen verglichen, bei denen keinerlei Differenzen auftreten können, die dadurch entstehen, dass gebrochene Zahlen binär nicht präzise dargestellt werden können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:54 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz