@@Alexander (HH):
nuqneH
Es ist (außer bei Beträgen unter 1 Euro) im täglichen Leben nicht üblich, Preise in Cent anzugeben. Ein Programm sollte das widerspiegeln, also auch in Euro rechnen.
Nein, sollte es nicht.
Sehe ich anders.*
Es sei denn, man benutzt einen Datentyp, der keine solchen Rundungsfehler hat (z.B. durch BCD- oder Dezimal-Darstellung).
Bei Datenbanken den Typ DECIMAL, ja.
Wenn in Programmiersprachen kein solcher Datentyp zur Verfügung steht, kann man intern getrost mit Fließkommazahlen rechnen. Es stört überhaupt nicht, wenn 42 als 42.0…01 oder 41.9…9 repräsentiert ist. Bei der Übergabe nach außen (HTML, Datenbank, API) ist auf 2 Nachkommaziffern zu runden.
Qapla'
* Bei der Rechnung in Cent besteht die Gefahr, dass irgendwein Programmierer an irgendeiner Stelle (entsprechend der Verwendung im täglichen Leben!) davon ausgeht, dass der Betrag in Euro angegeben ist.
Das hätte fatalere Konsequenzen als ein Fehler in der x-ten Nachkommastelle.
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)