Hi,
Wenn in Programmiersprachen kein solcher Datentyp zur Verfügung steht, kann man intern getrost mit Fließkommazahlen rechnen.
Nein, das sollte man möglichst nicht tun, wenn man bei Trost ist.
Es stört überhaupt nicht, wenn 42 als 42.0…01 oder 41.9…9 repräsentiert ist.
Doch, das „stört“:
$betrag = 42.001;
$rechnungsSumme = 0;
for($i=0; $i<10000; ++$i) {
$rechnungsSumme += $betrag;
}
echo $rechnungsSumme; // Ausgabe: 420009.99999993
Ups.
Bei der Übergabe nach außen (HTML, Datenbank, API) ist auf 2 Nachkommaziffern zu runden.
Eine Übergabe nach „außen“ ist in meinem Beispiel nicht erfolgt.
* 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.
Ja, der Depp, der keine Dokumentationen liest und nicht vernünftig testet, gehört natürlich gefeuert.
MfG ChrisB
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?