Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#12

AW: if-Abfrage mit Extended - Trotz gleichheit False

  Alt 7. Nov 2012, 22:04
Das mit CompareValue habe ich auch verwendet, und das liefert mir jetzt genau, dass was ich haben wollte.
Letztlich hätte ich auch

if (Trunc(wert1*100)=Trunc(wert2*100)) then ...

machen können, wäre auf's gleich rausgekommen. (Welche Veriante jetzt mehr Rechenzeit beansprucht sei mal dahingestellt).

In meinem Fall ist es so, dass keiner der beiden zu vergleichenden Werten berechnet ist.

Der erste Wert wurde aus einer Textdatei gelesen und in Extended umgewandelt, also explizit mit 2 Nachkommastellen zugeweisen. Dann eine einem Float-Feld einer DB gespeichert.
Danach wird er wieder gelesen.
Der zweite Wert wird auch aus der gleichen Textdatei gelesen, und mit dem aus der DB zurückgelesenen verglichen.

Also wurde, nach meinem Empfinden keiner der beiden Werte "berechnet" bzw. mittels Rechneroperationen bearbeitet. Es sei denn der Transport durch die ADO-Komponenten beinhaltet irgendwelche Rechenoperationen, dass weiß ich natürlich nicht.

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.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat