Hi alle zusammen,
ich staunte heute nicht schlecht, als ich eine einfache Rechnung ausführen wollte
txtFeld1 = 100
txtFeld2 = 0,6
txtSumme = 60,0000023841858
Die Berechnung führe ich mit einer Prozedur aus.
a = txtFeld1
b = txtFeld2
txtSumme = a*b
Gleitkommazahlen (auch Double!) haben nun einmal nur eine endliche Genauigkeit. Und da sie intern als Dualzahlen dargestellt werden, lassen sich Rundungsfehler bei der Konversion in Dezimalzahlen nicht immer vermeiden…
Das Phänomen ist ja schon erklärt, ich
würde das Ergebnis automatisch auf einde
gewünschte Stellenzahl runden.
Gruß, Richard
Dein Ergebnis ist ja „gerundet“ - du wirst immer Ungenauigkeiten im Bereich der Darstellungsgenauigkeit der Gleitkommazahl haben. „Runden“ ist bei Dualzahlen immer auch eine Frage der Darstellung! Wenn du keine Rundungsfehler haben willst, musst du Festkommazahlen (Currency, Long) nehmen.