Numbers_Roman は、
アラビア数字 (23 のような形式)
をローマ数字 (XXIII のような形式)
に変換したり、その逆の変換をしたりするメソッドを提供します。
注意
どちらのメソッドも静的メソッドなので、
オブジェクトのインスタンスを作成する必要はありません。
静的メソッド toNumeral を使用します。
このメソッドは 1 から
5 999 999 までの数を扱うことができます。
それより大きな値を指定してもエラーにはなりませんが、
歴史的に正しい結果とは異なる値に変換されます。
2 番目のパラメータである $uppercase は、
結果を大文字で出力する (デフォルト) かどうかを設定します。
オーバースコアを HTML のコードで出力する必要がある場合は、
3 番目のパラメータを設定します。これは、
3999 より大きな数を扱う際に必要となります。
このパラメータを false にすると、文字の前にアンダースコア
_ が付加されます。
例 55-1アラビア数字からローマ数字への変換
<?php
require_once 'Numbers/Roman.php';
echo Numbers_Roman::toNumeral(23);
// 結果は XXIII となります
echo Numbers_Roman::toNumeral(23, false);
// 結果は xxiii となります
?>
|
|
静的メソッド toNumber を使用すると、
XLII のようなローマ数字を
42 のようなアラビア数字に変換することができます。
1000 より大きい数字を扱う際には、文字の前にアンダースコアを付加します。
例 55-2ローマ数字からアラビア数字への変換
<?php
require_once 'Numbers/Roman.php';
echo Numbers_Roman::toNumber('XLII');
// 結果は 42 となります
?>
|
|