Hi,
Eine Zahl (die einen Preis ausdrückt) aus einer Datenbank hat vier Nachkommastellen.
rechnet ihr da wirklich mit Hundertstel-Cents? Wow. Mir kommen schon die Zehntel an der Tankstelle, die einfach nicht aussterben wollen, lächerlich vor.
Da dies gefälliger aussieht, soll sie nur mit zwei Nachkommastellen ausgegeben werden, sofern dadurch keine Informationen verloren gehen.
Was heißt "falls keine Informationen verlorengehen"? Endpreise -also die Beträge, die in einem Angebot oder in einer Rechnung auftauchen- sollten IMHO immer nur so genau angegeben sein, wie sie auch bezahlt werden. Ergibt sich rechnerisch ein Endbetrag von 184.627EUR, dann sollte dieser Wert in einem Dokument, das nach draußen geht, grundsätzlich nur mit zwei Nachkommastellen angegeben werden. Ob man grundsätzlich abrundet, grundsätzlich aufrundet oder mathematisch korrekt rundet, bleibt einem selbst überlassen, solange es eindeutig geregelt ist.
Habe schon einige Kombinationen aus number_format() und anderen String-Funktionen getestet - aber entweder gehen immer alle Nullen am Ende drauf (unerwünschtes Ergebnis : 111,1), oder es wird nach zwei Nachkommastellen gerundet oder abgeschnitten.
Was gefällt dir an sprintf("%.2f", $preis) nicht?
So long,
Martin
"Hier steht, deutsche Wissenschaftler hätten es im Experiment geschafft, die Lichtgeschwindigkeit auf wenige Zentimeter pro Sekunde zu verringern." - "Toll. Steht da auch, wie sie es gemacht haben?" - "Sie haben den Lichtstrahl durch eine Behörde geleitet."