Konvertieren von Zahlen in Wörter mit PHP

Es wird angenommen, dass eine funktionierende PHP/Apache-Installation mit den standardmäßigen PEAR-Dateien vorhanden ist und alle Pfadangaben stimmen. Man lädt also zunächst die Klasse von der folgenden Adresse herunter (http://pear.php.net/package-info.php?package=Numbers_Words) und installiert sie im PEAR-Verzeichnis. Als Nächstes erstellt man das folgende einfache PHP-Script und lässt es im Browser anzeigen:


Hier die Ausgabe, die der Code erzeugt:

„600 in words is six hundred“

Wie man sich vorstellen kann, ist diese Klasse nicht besonders schwierig zu benutzen. Es gibt eine Hauptmethode, toWords(), an die eine Zahl als Argument übergeben wird, worauf sie den entsprechenden String ausgibt. Man kann sie gegebenenfalls auch so ändern, dass sie andere Zahleneinheiten als die standardmäßigen US-Einheiten verwendet, indem man einen zusätzlichen Locale-Parameter übergibt (mehr dazu weiter unten).

Negatives Denken

Die Numbers_Words-Klasse kann sowohl große Werte als auch negative Integer-Zahlen verarbeiten, hier ein Beispiel:


Hier die entsprechende Ausgabe:


„190000000 in words is one hundred ninety million“
„637 in words is six hundred thirty-seven“
„104500 in words is one hundred four thousand five hundred“
„-8730 in words is minus eight thousand seven hundred thirty“

Es geht ums Geld

Die Methode toWords() kann nur Integer-Zahlen verarbeiten, aber keine Dezimalbrüche. Dies könnte man auf den ersten Blick für einen fatalen Fehler halten, aber genau hierfür gibt es die Methode toCurrency(), die speziell darauf ausgelegt ist, die Wort-Entsprechungen für Währungsangaben zu erstellen (einschließlich von Dezimalbrüchen):


Die Ausgabe sieht wie erwartet aus:

„600.75 in words is six hundred dollars seventy-five cents“

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Konvertieren von Zahlen in Wörter mit PHP

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *