Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#14

AW: Float-Werte für Filterung mit Nachkommastellen maskieren

  Alt 20. Apr 2015, 06:34
Du kannst Floatingpoint runden, bis der Arzt kommt, dein Problem wird immer wieder auftreten. Eine Zahl 0.001 lässt sich nun einmal nicht genau als FP darstellen, d.h. Du rundest auf 3 Stellen, es kommt aber trotzdem 0.0099999999345 heraus (z.B.).

Nochmal zum Mitschreiben:
Floating Point Werte und auf Gleichheit prüfen => geht nicht.

Abhilfe:
a: In der View dafür sorgen, das wirklich nur 3 Nachkommastellen auftauchen. Dafür kann man eine UDF schreiben und das Ergebnis entweder als BCD (hatten wir das nicht schon?) oder als String formatieren/konvertieren.

b: Die gleiche Logik im TDataset als berechnetes Feld anwenden, das programmtechnisch garantiert 3 Nachkommastellen aufweist. Das geht in Delphi nur über einen String. Und dann mit diesem Feld filtern.
  Mit Zitat antworten Zitat