Maison > Article > développement back-end > Comment convertir des nombres entiers en chiffres romains en PHP ? (exemple de code)
Comment convertir un nombre entier en chiffres romains ? L'article suivant vous montrera comment utiliser PHP pour convertir des nombres entiers en chiffres romains. J'espère qu'il vous sera utile.
Méthode 1 : Fonction personnalisée
Nous pouvons écrire manuellement une fonction nous-mêmes pour réaliser cette fonction, cette fonction peut prendre un nombre comme premier argument, le convertir en romain et le renvoyer.
Remarque : la plupart des algorithmes ne fonctionnent que dans la plage de 1 à 4999, le script échouera si des nombres extrêmement grands sont utilisés.
Code d'implémentation :
<?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>'; ?>
Sortie :
Méthode 2 : Utiliser la bibliothèque Romans
La bibliothèque Romans est une bibliothèque de chiffres romains PHP très simple qui vous permet de convertir des entiers en leur représentation romaine et vice versa.
Remarque : si vous n'avez pas cette bibliothèque, vous devez d'abord l'installer ; après avoir installé la bibliothèque Romans, vous pouvez utiliser son espace de noms et utiliser des fonctions qui peuvent aider à convertir les nombres.
La bibliothèque Romans contient une paire de filtres simples pour convertir une chaîne avec des chiffres romains en un entier représentant l'entrée sous forme décimale, et convertir un entier décimal en une chaîne avec des chiffres romains comme résultat.
1. Convertir des entiers en chiffres romains
Pour convertir des entiers en représentation romaine, vous devez utiliser la classe IntToRoman, créer une instance et appeler la méthode de filtrage à partir de celle-ci. . Cette méthode prend un nombre comme premier paramètre et renvoie une chaîne avec des chiffres romains :
<?php use Romans\Filter\IntToRoman; $filter = new IntToRoman(); $result = $filter->filter(1999); echo $result; ?>
Sortie :
MCMXCIX
2. Convertissez les chiffres romains en entiers
Pour convertir des chiffres romains en représentation entière, vous devez utiliser la classe RomanToInt, créer une instance et appeler la méthode de filtrage à partir de celle-ci. Cette méthode prend une chaîne avec des chiffres romains comme premier paramètre et renvoie un entier avec une valeur numérique :
<?php use Romans\Filter\RomanToInt; $filter = new RomanToInt(); $result = $filter->filter('MCMXCIX'); echo $result; ?>
Sortie :
1999
Recommandations du didacticiel vidéo associé : " Tutoriel PHP》
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!