ホームページ > バックエンド開発 > PHPチュートリアル > PHPで整数をローマ数字に変換するにはどうすればよいですか? (コード例)

PHPで整数をローマ数字に変換するにはどうすればよいですか? (コード例)

青灯夜游
リリース: 2023-04-05 16:32:01
オリジナル
3390 人が閲覧しました

整数値をローマ数字に変換して表示するにはどうすればよいですか?次の記事では、PHP を使用して整数をローマ数字に変換する方法を説明します。

PHPで整数をローマ数字に変換するにはどうすればよいですか? (コード例)

#方法 1: カスタム関数

この関数を実現する関数を手動で作成できます。関数は最初の引数として数値を受け取り、それをローマ字に変換して返すことができます。

注: ほとんどのアルゴリズムは 1 ~ 4999 の範囲でのみ機能します。非常に大きな数値を使用すると、スクリプトは失敗します。

#実装コード:

<?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 = &#39;&#39;; 
 
    // Declare a lookup array that we will use to traverse the number: 
    $lookup = array(
        &#39;M&#39; => 1000, &#39;CM&#39; => 900, &#39;D&#39; => 500, &#39;CD&#39; => 400, 
        &#39;C&#39; => 100, &#39;XC&#39; => 90, &#39;L&#39; => 50, &#39;XL&#39; => 40, 
        &#39;X&#39; => 10, &#39;IX&#39; => 9, &#39;V&#39; => 5, &#39;IV&#39; => 4, &#39;I&#39; => 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 &#39;整数数字转换为罗马数字:<br><br>&#39;;
// VIII
echo &#39;数字8:&#39;.numberToRoman(8).&#39;<br>&#39;;
// CXXIII
echo &#39;数字123:&#39;.numberToRoman(123).&#39;<br>&#39;;
// MMCCCLV
echo &#39;数字2355:&#39;.numberToRoman(2355).&#39;<br>&#39;;
// MMMMCMXCIX
echo &#39;数字4999:&#39;.numberToRoman(4999).&#39;<br>&#39;;
?>
ログイン後にコピー

出力:

PHPで整数をローマ数字に変換するにはどうすればよいですか? (コード例)

#メソッド 2: Romans ライブラリを使用する

Romans ライブラリは、整数をローマ字表記に、またはその逆に変換できる非常にシンプルな PHP ローマ数字ライブラリです。

注: このライブラリがない場合は、最初にインストールする必要があります。Romans ライブラリをインストールした後、その名前空間を使用し、数値の変換に役立つ関数を使用できるようになります。

Romans ライブラリには、ローマ数字を含む文字列を入力を 10 進数で表す int に変換し、結果として 10 進数の int をローマ数字を含む文字列に変換するための単純なフィルターのペアが含まれています。

1. 整数をローマ数字に変換する

整数をローマ数字に変換するには、IntToRoman クラスを使用し、インスタンスを作成し、そこからフィルター メソッドを呼び出す必要があります。 。このメソッドは最初のパラメータとして数値を受け取り、ローマ数字を含む文字列を返します:

<?php
use Romans\Filter\IntToRoman;

$filter = new IntToRoman();
$result = $filter->filter(1999);
echo $result;
?>
ログイン後にコピー

出力:

MCMXCIX
ログイン後にコピー

2.ローマ数字を整数に変換

ローマ数字を整数表現に変換するには、RomanToInt クラスを使用し、インスタンスを作成し、そこからフィルター メソッドを呼び出す必要があります。このメソッドは、ローマ数字を最初のパラメータとして使用する文字列を受け取り、数値を含む整数を返します。

<?php
use Romans\Filter\RomanToInt;

$filter = new RomanToInt();
$result = $filter->filter(&#39;MCMXCIX&#39;);
echo $result;
?>
ログイン後にコピー

出力:

1999
ログイン後にコピー
推奨される関連ビデオ チュートリアル: 「

PHP チュートリアル ##」 #>>

以上がこの記事の全内容となりますが、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がPHPで整数をローマ数字に変換するにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート