Am 01.02.10 20:19, schrieb Andy Fuchs:
   Das Ganze ist übrigens ein typisches Problem, wenn Du z.B. Lohnsteuerdaten
mit unterschiedlichen Programmen berechnest. Da kann's schnell mal
passieren, dass die Endbeträge um einige Cents auseinanderliegen. Brichst Du
das Ganze auf Cents runter, vermeidest Du das grundsätzliche Problem, dass
Deine Zahlen bereits unscharf gespeichert sind und ebenso verarbeitet
werden. D.h. die Ergebnisse sind deutlich konsistenter... Den
Fliesskomma-Wert verwendet man dann quasi nur bei der letztlichen Ausgabe
(z.B. mit format(...)).

Genau um die Speicherung geht es mir. Bei der späteren Darstellung läßt sich durch entsprechende Funktionen natürlich die kaufmännische Rundung von Fließkommazahlen problemlos bewerkstelligen, allerdings wären diese bereits ungenau in der Datenbank selbst.

im obigen Beispiel funktioniert übrigens das "Decimal Plugin" von Bob Delaney hervorragend:

http://homepage.mac.com/delaneyrm/DecimalPlugin.html

dim total as Decimal = 0.825
MsgBox format( Round( total * 100 ) / 100 , ",###.00" ) '0,83


Wie handhabst du Divisionen wenn du diese mit Integern berechnen und anschliessend wieder als Integer in der Datenbank abspeichern willst (z.B. um aus einem Brutto- einen Netto-Wert zu errechnen) ?

--
Michael Kagerbauer
http://rbcoder.de

Antwort per Email an