Zur Startseite Häufig erreicht mich die Frage: wie kann ich meine ausgegebenen Zahlen am besten in PHP formatieren? PHP selbst bietet hierzu die nützliche Funktion number_format(), mit der man die formatierte Ausgabe von Zahlen steuern kann.
Die Funktion lässt sich recht leicht anwenden. In dem beigefügten Skript, werden zwei Artikel aus einer Bestellung angezeigt. Um die Zahl, beispielsweise für den Einzelpreis, formatiert auszugeben, genügt es, die Ausgabe so anzugeben:
echo number_format($einzelpreis[$k], 2);
Es wird dann mit dem Skript die folgende Tabelle ausgegeben:
| Produkt | Anzahl | Einzelpreis | Gesamt |
| Farbstift rot | 5.00 | 3.25 | 16.25 |
| Super-Computer | 1.00 | 2,399.50 | 2,399.50 |
Die etwas gewöhnungsbedürftige Formatierung bei den großen Zahlen, ist auf die Standardeinstellung für amerikanische Zahlenformate zurückzuführen. Leider berücksichtigt die Funktion number_format() nicht die entsprechende Einstellung über setlocale(), so dass man hier die Einteilung für Dezimalkomma und Tausenderpunkt selbst übergeben muss. Das passiert mit zwei weiteren Parametern, die an number_format übergeben werden:
echo number_format($einzelpreis[$k], 2, ",", ".");
Der dritte Parameter gibt an, welches Zeichen für den Dezimalpunkt verwendet werden soll. Hier in Deutschland ist es das Komma. Der vierte Parameter gibt an, welches Zeichen zum Trennen der Tausender benutzt werden soll. Hier kann ein Punkt angegeben werden, dann sieht die Ausgabe so aus:
| Produkt | Anzahl | Einzelpreis | Gesamt |
| Farbstift rot | 5,00 | 3,25 | 16,25 |
| Super-Computer | 1,00 | 2.399,50 | 2.399,50 |
Wichtig ist hier nur: Wird der dritte Parameter angegeben, muss auch der vierte Parameter verwendet werden. Andernfalls wird von PHP eine Fehlermeldung ausgegeben. Falls kein Trennzeichen für die Tausender gewünscht wird, gibt man als vierten Parameter einfach einen leeren String an:
echo number_format($einzelpreis[$k], 2, ",", "");
Damit wird die Tabelle dann so ausgegeben:
| Produkt | Anzahl | Einzelpreis | Gesamt |
| Farbstift rot | 5,00 | 3,25 | 16,25 |
| Super-Computer | 1,00 | 2399,50 | 2399,50 |
Für die rechtsbündige Ausrichtung der Zahlen und Überschriften ist übrigens kein PHP-Befehl zuständig. Dies wird ausschließlich in HTML realisiert, indem die entsprechenden Tabellen-Zellen mit dem Style: style="text-align: right" versehen werden.
Hinweis: Diesen Text und die enthaltenen Beispielprogramme und Skripte dürfen Sie zum Erlernen der einzelnen Techniken und auch als Grundlage für Ihre eigenen Projekte auf eigene Gefahr kostenlos nutzen.
Bitte denken Sie daran, dass alle Texte und Quellcodes trotzdem urheberrechtlich geschützt sind. Eine direkte Weitergabe ist nur nach ausdrücklicher schriftlicher Genehmigung gestattet.