Die wohl wichtigste Funktion im Zusammenhang mit Zahlen benötigt man in PHP-Projekte beim Verarbeiten von Beträge. Nicht nur, dass man es mit der Angabe der Währung zu tun hat, kommen die Beträge stets unterschiedlich daher. Mal sind die Beträge mit zwei Kommastellen ausgestattet, mal mit keiner einzigen und dann wieder mit vier Stück. Aussehen sollen die Beträge aber immer gleich.
Das ist auch gesetzlich so vorgeschrieben, aber es gibt Befehle wie der PHP-Befehl round, die wohl richtig kaufmännisch aufrunden oder abrunden, aber wenig Interesse für die vorgeschriebenen Kommastellen haben. Daher ist der Befehl number_format eine große Hilfestellung.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$zahl1 = 12;
$zahl2 = 24.66;
$zahl3 = 61.4444;
echo number_format($zahl1, 2, ",", ".")."
";
echo number_format($zahl2, 2, ",", ".")."
";
echo number_format($zahl3, 2, ",", ".")."
";
?>
ergibt:
12,00
24,66
61,44
Diese drei Beispiele zeigen, wie mit number_format unterschiedliche Werte in gleich aussehende Beträge umgewandelt werden können. Dabei ist der erste Parameter des Befehls die Variable mit dem gespeichert Wert, in unserem Fall $zahl1 bis 3.
Der zweite Parameter ist die Ziffer zwei und teilt dem Befehl mit, dass auf zwei Stellen gerundet werden soll. Der dritte Parameter ist das Komma, das als Trennzeichen für die Kommastellen genutzt werden und das den vierten Parameter, den Punkt, ersetzen soll.
Der Befehl number_format untersucht daraufhin den Wert in der Variable und agiert entsprechend. Bei der ersten Zahl fügt er zweimal die Null an, um auf zwei Kommastellen zu kommen. Beim zweiten Wert ist eigentlich nicht viel zu tun, nur der Punkt als Kommazeichen wird durch das Komma ersetzt.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
Beim dritten Wert schneidet er zwei Kommastellen ab, prüft dabei aber auch, ob gerundet werden muss. Da 50 oder mehr nicht erreicht wurde, ist dies ein Vorgang des Abrundens.
Beim vorherigen Artikel zum Befehl round haben wir gesehen, dass richtig kaufmännisch gerundet wird, aber es gibt keine Option für Kommastellen, wenn man diese braucht und ein gerader Betrag (23 zum Beispiel) herauskommt. Der Befehl number_format wiederum bietet die Kommastellen, rundet aber nicht - es braucht also beide Funktionen, um zum Ziel zu kommen, sollte man das Runden auch brauchen.
In manchen Situationen braucht man nur die Kommastellen und dann reicht number_format für die Formatierung ergo Gestaltung der Zahlen. Muss auch gerundet werden, ist eine Kombination mit round erforderlich.
Sowohl Zahlen als auch Datum und Uhrzeit werden in der PHP-Programmierung sehr häufig benötigt. Bei PHP + Datum wird man sich zwischen der Version mit date und der Version mit dem UNIX-Zeitstempel (time, mktime) entscheiden müssen, wie man lieber mit den Werten umgehen möchte.
PHP + Zahlen ist auch ein Thema, bei dem man überlegen muss, was mit den Zahlen geschehen soll. Das betrifft nicht Rechnungen mit Variablen, wie dies in der Einführung schon zum Thema wurde, sondern eher die Zahlen an sich. Man muss sie runden, man kann sie bewusst aufrunden oder - was häufig passiert - Umformatieren wie mit number_format, um zwei Kommastellen zu erhalten.
Themenseiten
Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen
Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel