AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Double Werte vergleichen

Ein Thema von DieDolly · begonnen am 25. Mai 2019 · letzter Beitrag vom 28. Mai 2019
Antwort Antwort
Seite 2 von 4     12 34   
Rollo62

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#11

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 08:34
   if System.Math.SameValue(1.0, 10.0, 100.0) then ... Wäre das deiner Meinung nach unzulässig ?
Wenn ja, warum.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 09:03
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 09:08
Zitat:
   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;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 10:49
Alles Spekulation. Ohne einen Schnipsel Beispielcode bringt keine Diskussion etwas.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 11:52
Hallo,
Zitat:
Ich habe A := 1.0 und B := 10.0.
Das ist doch Code.

Ich denke aber, nicht der richtige ...
Heiko
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#16

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 11:53
Ich kann Entwarnung geben. Ich konnte erst jetzt wieder auf den Code gucken. Ich habe in der Testausgabe dummerweise zwei Variablen vertauscht.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 12:17
Hier der passende Smiley für dich:

Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#18

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 12:34
3 davon würden besser passen. Augen auf beim ... testen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 13:19

Wer hätte das gedacht.

Ist aber wohl den meisten schon passiert.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#20

AW: Double Werte vergleichen

  Alt 27. Mai 2019, 16:41
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.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.
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