Heim > Artikel > Backend-Entwicklung > Wie konvertiert man Ganzzahlen in PHP in römische Zahlen? (Codebeispiel)
Wie konvertiere ich eine Ganzzahl in römische Ziffern? Der folgende Artikel zeigt Ihnen, wie Sie mit PHP ganze Zahlen in römische Zahlen umwandeln. Ich hoffe, er wird Ihnen hilfreich sein.
Methode 1: Benutzerdefinierte Funktion
Wir können selbst manuell eine Funktion schreiben, um diese Funktion zu erreichen. Diese Funktion kann eine Zahl als erstes Argument annehmen, sie in eine römische Zahl umwandeln und zurückgeben.
Hinweis: Die meisten Algorithmen funktionieren nur im Bereich von 1-4999, das Skript schlägt fehl, wenn extrem große Zahlen verwendet werden.
Implementierungscode:
<?php header("content-type:text/html;charset=utf-8"); //将数字转换为罗马表示形式 function numberToRoman($num) { // Be sure to convert the given parameter into an integer $n = intval($num); $result = ''; // Declare a lookup array that we will use to traverse the number: $lookup = array( 'M' => 1000, 'CM' => 900, 'D' => 500, 'CD' => 400, 'C' => 100, 'XC' => 90, 'L' => 50, 'XL' => 40, 'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1 ); foreach ($lookup as $roman => $value) { // Look for number of matches $matches = intval($n / $value); // Concatenate characters $result .= str_repeat($roman, $matches); // Substract that from the number $n = $n % $value; } return $result; } echo '整数数字转换为罗马数字:<br><br>'; // VIII echo '数字8:'.numberToRoman(8).'<br>'; // CXXIII echo '数字123:'.numberToRoman(123).'<br>'; // MMCCCLV echo '数字2355:'.numberToRoman(2355).'<br>'; // MMMMCMXCIX echo '数字4999:'.numberToRoman(4999).'<br>'; ?>
Ausgabe:
Methode 2: Römerbibliothek verwenden
Die Romans-Bibliothek ist eine sehr einfache PHP-Bibliothek für römische Zahlen, mit der Sie ganze Zahlen in ihre römische Darstellung und umgekehrt umwandeln können.
Hinweis: Wenn Sie diese Bibliothek nicht haben, müssen Sie sie zuerst installieren. Nach der Installation der Romans-Bibliothek können Sie deren Namensraum und Funktionen verwenden, die bei der Konvertierung von Zahlen helfen können.
Die Romans-Bibliothek enthält ein Paar einfacher Filter zum Konvertieren einer Zeichenfolge mit römischen Ziffern in einen Ganzzahlwert, der die Eingabe als Dezimalzahl darstellt, und zum Konvertieren eines dezimalen Ganzzahlwerts in eine Zeichenfolge mit römischen Ziffern als Ergebnis.
1. Ganzzahlen in römische Zahlen umwandeln
Um Ganzzahlen in römische Darstellungen umzuwandeln, müssen Sie die IntToRoman-Klasse verwenden, eine Instanz erstellen und daraus die Filtermethode aufrufen . Diese Methode verwendet eine Zahl als ersten Parameter und gibt eine Zeichenfolge mit römischen Ziffern zurück:
<?php use Romans\Filter\IntToRoman; $filter = new IntToRoman(); $result = $filter->filter(1999); echo $result; ?>
Ausgabe:
MCMXCIX
2. Konvertieren Sie römische Ziffern in ganze Zahlen
Um römische Ziffern in eine Ganzzahldarstellung umzuwandeln, müssen Sie die Klasse RomanToInt verwenden, eine Instanz erstellen und daraus die Filtermethode aufrufen. Diese Methode verwendet eine Zeichenfolge mit römischen Ziffern als ersten Parameter und gibt eine Ganzzahl mit einem numerischen Wert zurück:
<?php use Romans\Filter\RomanToInt; $filter = new RomanToInt(); $result = $filter->filter('MCMXCIX'); echo $result; ?>
Ausgabe:
1999
Empfehlungen für zugehörige Video-Tutorials: „PHP-Tutorial 》
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !
Das obige ist der detaillierte Inhalt vonWie konvertiert man Ganzzahlen in PHP in römische Zahlen? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!