このツールでできること
「ローマ数字変換ツール」は、数字とローマ数字を双方向に変換できるツールです。ふだん使う算用数字(アラビア数字)を入力すればローマ数字に、ローマ数字を入力すれば数字に変換します。古典的な範囲に加え、「ヴィンクルム(オーバーライン)」を使った拡張範囲まで対応しており、1から3,999,999までを扱えます。変換方向は自動で判別されます。入力が数字だけならローマ数字へ、それ以外ならローマ数字として読み取って数字に変換します。
大きな数を表すオーバーライン
古典的なローマ数字は、すっきり書けるのは3,999までです。それより大きな数を表すために、昔の書記は文字の上に横棒(ヴィンクルム)を引き、その文字を1,000倍しました。通常のキーボードではオーバーラインを入力できないため、このツールではアンダースコア(_)をオーバーラインの代わりに使います。アンダースコアは、その直後の1文字だけに適用されます。つまり_Cはオーバーライン付きのC=\(100 \times 1{,}000 = 100{,}000\)、_Mは1,000,000を意味します。画面上の結果は、読みやすさを優先して通常の文字だけで表示されます。
計算のしくみ
数字からローマ数字への変換は、各記号の値を足し合わせる仕組みです。小さい記号が大きい記号の前にある場合は引き算になります。
$$\text{total} = \sum_i \begin{cases} -v_i & v_i < v_{i+1} \\ +v_i & \text{otherwise} \end{cases}$$各桁のグループは、その係数と値の積の合計として表せます。
$$n = \sum_k c_k \cdot v_k, \quad v_k \in \{\overline{M},\dots,M,\dots,I\}$$使い方
1つの入力欄に値を入れて実行するだけです。数字の場合はそのまま入力してください(カンマは無視されるので、1,994と1994は同じ扱いです)。ローマ数字の場合は、I・V・X・L・C・D・Mを大文字で入力します(小文字でも構いません)。1,000倍のオーバーラインを付けたい文字の前には_を付けてください。結果欄には「入力=出力」が表示され、内訳テーブルには各桁のグループとその算用数字での値が並び、最後に合計(Total)行が表示されます。
具体例
MMMDCCXXIVを入力すると、MMM=3000、DCC=700、XX=20、IV=4(Vの前のIは5−1を意味します)。合計は\(3000 + 700 + 20 + 4 = \mathbf{3724}\)です。逆方向では、1994という数字はM(1000)+CM(900)+XC(90)+IV(4)となり、MCMXCIVになります。
よくある質問
なぜゼロがないのですか? ローマ数字にはゼロを表す記号が存在しません。そのため、扱える最小値は1です。
最大値はいくつですか? 3,999,999です。オーバーライン付きのM・C・Xと通常の文字を組み合わせて表します。
大文字・小文字は区別されますか? いいえ。入力時は大文字・小文字を区別せず、解析前にすべて大文字に変換されます。ただし慣例的には大文字で書くのが一般的です。