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

Antwort per Email an