Heim > Artikel > Backend-Entwicklung > So konvertieren Sie arabische Ziffern mit PHP in Großbuchstaben
Bei der Programmierung in PHP ist häufig die Notwendigkeit der Verarbeitung von Strings erforderlich. Unter ihnen ist die Umwandlung arabischer Ziffern in Großbuchstaben ein häufiger Bedarf. In diesem Artikel wird erklärt, wie man mit PHP arabische Ziffern in Großbuchstaben umwandelt.
Bei der Umwandlung arabischer Ziffern in Großbuchstaben müssen wir die Zahl zunächst in Einheiten, Zehner, Hunderter, Tausender usw. aufteilen und sie dann in die entsprechenden Großbuchstaben umwandeln. Dieser Prozess wandelt im Wesentlichen die Zahl in ein Array um, wandelt dann jedes Bit im Array der Reihe nach in einen Großbuchstaben um und fügt schließlich die Buchstaben zusammen, um die endgültige Großbuchstabe zu bilden.
Die Methode zur Implementierung dieses Prozesses in PHP ist relativ einfach, Sie müssen nur jeden Teil der Zahl der Reihe nach verarbeiten. Hier ist ein Beispielcode, der jede arabische Ziffer in die entsprechende Großbuchstabe umwandeln kann:
function arabicToUpperCase($arabic) { $units = array('','one','two','three','four','five','six','seven','eight','nine'); $teens = array('ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen'); $tens = array('','ten','twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety'); $hundreds = array('','one hundred','two hundred','three hundred','four hundred','five hundred','six hundred','seven hundred','eight hundred','nine hundred'); $thousands = array('','one thousand','two thousand','three thousand','four thousand','five thousand','six thousand','seven thousand','eight thousand','nine thousand'); $parts = explode('.', $arabic); $integer = $parts[0]; if($integer == 0) { return 'zero'; } $digits = str_split($integer); $digits = array_reverse($digits); $result = array(); for($i = 0; $i < count($digits); $i++) { switch($i) { case 0: $result[] = $units[$digits[$i]]; break; case 1: if($digits[$i] == 1) { $result[] = $teens[$digits[$i-1]]; $result[] = $tens[$digits[$i]]; } else { $result[] = $tens[$digits[$i]]; } break; case 2: $result[] = $hundreds[$digits[$i]]; break; case 3: $result[] = $thousands[$digits[$i]]; break; } } $result = array_reverse($result); return join(' ', $result); }
Der obige Code ist eine Funktion, die arabische Ziffern in Großbuchstaben umwandelt. Diese Funktion empfängt eine arabische Zahl als Parameter, wandelt diese dann in die entsprechende Großbuchstabe um und gibt einen String zurück.
Am Anfang des Codes haben wir vier Arrays definiert: $units, $teens, $tens und $hundreds. Diese vier Arrays werden verwendet, um Zahlen in entsprechende Großbuchstaben umzuwandeln. Die Indizes im Array stellen den Wert der Zahl dar, und die Werte im Array stellen die entsprechenden Wörter dar. Beispielsweise bedeutet $unit[1], dass das Wort, das der Zahl 1 entspricht, „eins“ ist.
Im Hauptteil der Funktion teilen wir zunächst die Zahl durch die Explosionsfunktion in Ganzzahlen und Dezimalteile auf. Hier verarbeiten wir nur Ganzzahlen. Stellen Sie zunächst fest, ob die Ganzzahl 0 ist. Wenn sie 0 ist, geben Sie einfach „Null“ zurück.
Als nächstes teilen wir die Ganzzahl bitweise in ein Array auf und verarbeiten jedes Bit der Reihe nach durch eine Schleife. Bei der Verarbeitung des aktuellen Bits verwenden wir die Switch-Anweisung, um verschiedene Wortarrays entsprechend verschiedenen Ziffern auszuwählen, konvertieren dann die Ziffernnummer in das entsprechende Wort und speichern es in einem Ergebnisarray.
Abschließend sortieren wir das Ergebnisarray in umgekehrter Reihenfolge und verwenden dann die Join-Funktion, um alle Wörter zu einer Folge von Großbuchstaben zusammenzufügen.
Nachfolgend verwenden wir ein Beispiel, um den obigen Code zu testen:
echo arabicToUpperCase('1234567');
Das Ausgabeergebnis ist: „eine Million zweihundertvierunddreißigtausendfünfhundertsiebenundsechzig“.
Durch die Analyse des obigen Beispielcodes können wir sehen, dass der Prozess der Konvertierung von Zahlen in Großbuchstaben nicht kompliziert ist. Sie müssen die Zahlen nur bitweise in Arrays aufteilen, sie dann der Reihe nach in entsprechende Wörter umwandeln und diese Wörter schließlich zusammenfügen. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die String-Verarbeitungsfunktionen der PHP-Sprache besser zu beherrschen.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie arabische Ziffern mit PHP in Großbuchstaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!