映画のタイトルにある「Ⅲ」や「Ⅳ」が何作目なのか、パッと数えられなかったことはありませんか?1〜3999の範囲なら、アラビア数字とローマ数字を双方向に変換できますよ。小文字の入力や、IIIIのような崩れた書き方の判定にも対応しています。
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| I | II | III | IV | V | VI | VII | VIII | IX | X |
| 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 500 | 1000 |
|---|---|---|---|---|---|---|---|---|---|---|
| XX | XXX | XL | L | LX | LXX | LXXX | XC | C | D | M |
| 1999年 | 2000年 | 1987年 | 2026年 |
|---|---|---|---|
| MCMXCIX | MM | MCMLXXXVII | MMXXVI |
ローマ数字には、同じ文字を3回までしか並べない決まりがあります。4は「IIII」ではなく、5を表す「V」から1引いた形の「IV」で書くのが正式です。9も同じ考え方で、10の「X」から1引いた「IX」になります。差し引ける文字は1つ前の位までと決まっていて、「IL」のように2桁離れた文字を引く書き方は認められていません。
1987年を例にすると、まず1000の位から「M」を1つ取り、残り987を900・80・7に分けます。900は「CM」、80は「LXXX」、7は「VII」なので、並べると「MCMLXXXVII」になりますね。大きい位から順に、引ける最大の記号を当てはめていくだけなので、桁数が増えても手順は変わりません。
文字盤の4は歴史的にIIIIと表記されることが多く、対称性を保つデザイン上の理由などが挙げられています。正式なローマ数字の規則とは別の、時計独自の慣習と考えておくとよいでしょう。
できます。「xiv」のように小文字で入力しても、自動で大文字として扱ってから計算するので、14という結果がそのまま出ます。
同じ文字を3回までしか並べられない決まりのままだと、Mを4つ並べる4000から表記が破綻してしまうためです。歴史的には数字の上に横線を引いて1000倍を表す方法もありましたが、通常のフォントでは再現できないので、1〜3999の範囲に絞っています。