Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sir Rufo,
26. Feb 2015
Ich vermute mal, dass die Bedeutung des Datentyps Currency etwas verkannt/nicht erkannt wird.
Das ist ein Datentyp für eine Währungs-Buchung. Und ich kenne niemanden, der seine Buchhaltung auf Mikro-Cent führt. Während einer Berechnung eines Buchwertes da nimmt man diese Mikro-Cents mit, aber irgendwann kommt ein Buchwert heraus und der ist dann im EURO-Raum auf 2 Stellen nach dem Komma...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sir Rufo,
26. Feb 2015
Es gibt Länder/Währungen da hat es mehr als 2 Nachkomma-Stellen und die wären ja hübsch angeschmiert. Von daher gab es bei der Definition des Datentyps eine gewisse Weitsicht und man hat dort 4 Stellen vorgesehen. :stupid:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Sir Rufo,
26. Feb 2015
var
Val1, Val2 : Double;
if CompareValue( Val1, Val2 {, Epsilon} ) then
ShowMessage( 'Sind Gleich' );
Das Epsilon kann ein beliebiger Wert sein, der den maximalen Unterschied angibt, bei dem die Wert noch gleich sind.
Aber warum willst du das Programm überhaupt von Currency auf Double umstellen? Macht bei Währungsbeträgen doch Null Sinn.