AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi if-Abfrage mit Extended - Trotz gleichheit False
Thema durchsuchen
Ansicht
Themen-Optionen

if-Abfrage mit Extended - Trotz gleichheit False

Ein Thema von Captnemo · begonnen am 7. Nov 2012 · letzter Beitrag vom 8. Nov 2012
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

AW: if-Abfrage mit Extended - Trotz gleichheit False

  Alt 8. Nov 2012, 12:00
Entschuldige, aber diese Fragestellung ist doch wohl Unfug.
Warum so unfreundlich? Was ist Unfug daran, einen Frage zu etwas zu stellen um sich eine Problematik zu verdeutlichen?

Um dieses Phänomen wirklich zu untersuchen, solltest du Die Zahl von String in ein Extended und dann in die Datenbank schreiben. Dann aus der Datenbank wieder auslesen und mit dem Wert wieder vergleichen.
Genauso mache ich es ja, dadurch bin ich ja überhaupt auf die Frage gestoßen.
Also deine Frage war:
Also stellt sich mir die Frage, ob eine Zuweisung ala

Delphi-Quellcode:
var
  wert: Extended;
  s: String;
begin
  s:='-29.90';
  wert:=StrToFloat(s)
auch evtl. abweichende Nachkommastellen hinterläßt.
Und genau das meinte ich mit Unfug, denn das gleiche System wird bei dieser Anweisung auch immer das gleiche Ergebnis liefern. Du hast aber 2 Systeme im Spiel und darum kannst du mit diesem Ansatz das nicht ergründen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: if-Abfrage mit Extended - Trotz gleichheit False

  Alt 8. Nov 2012, 12:41
Am Rande: Ich empfinde BCD irgendwie als "unnatürlich" und "bloaty", weil eben Dezimalziffern in 4 Bit dargestellt werden. Da bleiben Kapazitäten ungenutzt, und Binärrechner zu zwingen in Hardware dezimal zu rechnen... würg Und letztlich ist der Genauigkeitsgewinn nur dort vorhanden, wo vornehmlich von Menschen eingegebene Zahlen eine Rolle spielen. Und schlussendlich ist es auch nur ein seltsam kodiertes Festkommaformat; da doch lieber gleich Currency.
BCD ist kein Festkommaformat, sondern eine nicht binäre Kodierung. Mann kann natürlich eine entsprechende Vereinbarung treffen ist aber wesentlich flexibler als Currency.

Und was die Menschen angeht, versuch einmal einem Mitarbeiter zu erklären warum auf seiner Gehaltsabrechnung immer wieder Rundungsfehler auftauchen, bei Werten, die jeder mäßig begabte Grundschüler addieren kann. Nichts gegen Floatingpoints, aber sie sind nun mal nicht für alles die richtige Lösung.

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

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#23

AW: if-Abfrage mit Extended - Trotz gleichheit False

  Alt 8. Nov 2012, 15:01
Deswegen ja Currency (oder ein anderes Fixed-Format mit der gewünschten Nachkommaanzahl, da ist man ja genau so frei wie mit BCD). Und naja, BCD ist an sich ein Integerformat, daher meinte ich Festkomma - man kann es nur als Fixed für Zahlen mit Nachkommaanteil benutzen. Wo genau da jetzt der Vorteil gegenüber der binären Integerdarstellung sein soll erschließt sich mir noch immer nicht.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 14:09 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