Am 01.02.10 20:54, schrieb Christian Dorn:
Die Problematik von Fließkommazahlen ist mir bekannt, aber es gibt in Rb noch
einen weiteren Datentyp (den ich bisher aber nicht genutzt habe): Currency. Der
Name des Datentyps lässt ja darauf schließen, dass er speziell für Geldbeträge
gedacht ist. Hier, was die LangRef über den Datentyp sagt:
This is a 64-bit fixed-point number format that holds 15 digits to the
left of the decimal point and 4 digits to the right. It is compatible with
the Currency data type that is offered in some versions of Visual Basic.
Ob vier Nachkommastellen für ein Finanzprogramm ausreichend sind weiß ich nicht, ist hier
aber auch nicht meine Frage. Verstehe ich es richtig, dass dieser Datentyp die
"Unschärfe" von Fließkommazahlen (zumindest bis zur vierten Stelle hinter dem
Komma) vermeidet?
Der Currency-Datentyp scheint zwar insbesondere beim Umgang mit
Geldwerten einige Vorteile gegenüber dem Double-Datentyp zu haben,
allerdings kann es hierbei auch ungenau werden (z.B. in Verbindung mit
Prozentrechnung bei genügend Nachkommastellen). Das "Decimal Plugin" was
ich oben erwähnt hatte umgeht das ganze, da man auch Werte von Decimal
zu Currency und umgekehrt konvertieren kann. Die eigentlichen
Berechnungen werden dann vorher immer mit dem genaueren Decimal-Datentyp
ausgeführt.
--
Michael Kagerbauer
http://rbcoder.de