Forum: Library: Algorithmen
Delphi
by shmia,
24. Mai 2005
Deine Prozedure ist zwar kürzer, hat aber doch einige "Reibungsverluste".
Der Datentyp Real benützt 64 Bit, hat aber nicht die Genauigkeit wie Currency.
(bei sehr großen Zahlen hat Real keine 4 Nachkommastellen mehr)
Man müsste also schon Extended benützen.
Beim Wandeln von Currency nach Extended wird intern durch 10000 dividiert; in umgekehrter Richtung wird
mit 10000 multipliziert.
Wenn...
Forum: Library: Algorithmen
Delphi
by shmia,
24. Mai 2005
Folgende Funktion rundet den Datentyp Currency auf eine bestimmte Anzahl von Nachkommastellen.
Dabei wird aber nicht die FPU, sondern nur Integer-Arithmetik benutzt.
function RoundCurrency(const Value:Currency; const nk:Integer):Currency;
const
faktors : array of Integer = (
10000000, 1000000, 100000, 10000, 1000, 100, 10);
var
x : Int64;
y : Int64;