数値(アラビア数字)とローマ数字のどちらを入力しても、自動で判定して相互に変換します。1000 + 900 + 90 + 4 のような分解の途中式も表示します。
このページでできること
- 「1994 をローマ数字にすると?」「MCMXCIV は何の数?」のような変換が、1つの入力欄でどちらの向きにも一発でできます(数値かローマ数字かは自動判定)
- 1000 + 900 + 90 + 4 → M + CM + XC + IV のような分解の途中式を表示するので、変換のやり方そのものが身につきます
- 時計の文字盤・映画やゲームの続編番号・オリンピックの回次などで見かけるローマ数字を、その場で読み解けます
- 4,000 以上の大きな数は、上線(ヴィンクルム)付きのローマ数字に変換できます(アンダースコア入力対応。3,999,999 まで)
- 時計の文字盤でよく使われる IIII のような慣用的な書き方も読み取り、正式な表記(IV)もあわせて表示します
この計算は何の役に立つ?
ローマ数字を一番よく見かけるのは、腕時計や柱時計の文字盤です。XII が12時、III が3時、IX が9時——減法規則がわかれば全部読めます。
よく見ると多くの時計では4時が正式な IV ではなく IIII と書かれています。これは「文字盤の左右のバランスがよい」「IV が神ユピテル(IVPPITER)の綴りと重なるのを避けた」など諸説ある伝統的な慣用表記で、規則の例外として今も受け継がれています。
「ロッキーIV」は4作目、「ファイナルファンタジーVII」は7作目、「ドラゴンクエストIII」は3作目——続編のナンバリングにはローマ数字が広く使われています。
X を超えると「XIII(13作目)」のように読みにくくなりますが、減法規則さえ知っていれば迷いません。作品タイトルの数字がすっと読めるのは、ちょっとした教養です。
国際的なイベントの「第◯回」にはローマ数字が使われます。2024年のパリオリンピックは「第XXXIII回オリンピック競技大会」(33回目)、アメリカで最大のスポーツイベントであるスーパーボウルも「スーパーボウルLVIII」(58回目・2024年)のように表記されます。
ニュースやポスターでこの表記を見たとき、XXXIII = 10+10+10+1+1+1 = 33 と読み解けます。
ヨーロッパの君主や教皇の代数は、英語などではローマ数字で書かれます。エリザベス2世は Elizabeth II、フランスの太陽王ルイ14世は Louis XIV、教皇ヨハネ・パウロ2世は John Paul II です。
歴史の本や海外のニュース・記念コインなどで「Henry VIII(ヘンリー8世)」のような表記に出会ったとき、VIII = 5+1+1+1 = 8 と正確に読めます。
映画のエンドクレジットの最後には「MMXXVI」(2026年)のように製作年がローマ数字で入っていることがあります。また、欧米の建物の定礎や記念碑には完成年がローマ数字で刻まれるのが伝統です。
例えば MCMLXIV は 1000+900+60+4 = 1964——東京で最初のオリンピックが開かれた年です。長い年号も、M・CM・LX・IV のように記号のかたまりごとに区切って足していけば正確に読み取れます。
式
用語・記号の解説
記号
| I | アイ | 1 を表す記号。指1本の形が由来とされます。I=1、II=2、III=3 です。 |
| V | ブイ | 5 を表す記号。開いた手のひら(指5本)の形が由来という説があります。 |
| X | エックス | 10 を表す記号。V(5)を2つ重ねた形という説があります。 |
| L | エル | 50 を表す記号。 |
| C | シー | 100 を表す記号。ラテン語の centum(100)の頭文字とされます。「センチメートル(100分の1メートル)」の centi と同じ語源です。 |
| D | ディー | 500 を表す記号。1000 を表す古い記号の右半分が由来という説があります。 |
| M | エム | 1000 を表す記号。ラテン語の mille(1000)の頭文字とされます。「ミリメートル(1000分の1メートル)」の milli と同じ語源です。 |
| X̅ | エックス(上線つき) | 記号の上の上線(ヴィンクルム)は1000倍を表します。X̅ は 10×1000 = 10,000 です。このページでは「_X」のようにアンダースコアを付けて入力します。 |
用語
| ローマ数字 | ローマすうじ | 古代ローマで生まれた、I・V・X・L・C・D・M の7記号の組み合わせで数を表す書き方。位取りの考え方がなく、記号の値を足したり引いたりして数を表します。0 を表す記号はありません。 |
| アラビア数字 | アラビアすうじ | 0〜9 の10種類の数字で数を表す、私たちが普段使っている書き方。インドで生まれアラビアを経由してヨーロッパに伝わったのでこう呼ばれます。位取り記数法なので、同じ「9」でも書く位置によって 9・90・900 と値が変わります。 |
| 減法表記 | げんぽうひょうき | 小さい記号を大きい記号の前に置いて引き算を表す書き方。IV(4)・IX(9)・XL(40)・XC(90)・CD(400)・CM(900)の6通りだけが正式に認められています。同じ記号を4回続けずに済むための工夫です。 |
| 貪欲法 | どんよくほう | その時点で選べる一番大きいものを選び続ける計算のやり方。英語では greedy algorithm(グリーディ・アルゴリズム)と呼ばれ、プログラミングでも基本的な考え方の一つです。アラビア数字からローマ数字への変換はこの方法で必ず正式な表記になります。 |
| ヴィンクルム | ヴィンクルム | 記号の上に引く上線のこと(ラテン語で「きずな・結び」の意味)。上線を引いた記号は値が1000倍になり、基本の7記号では書けない 4,000 以上の数を表せます。このページでは 3,999,999 まで対応しています。 |
| 慣用的な表記 | かんようてきなひょうき | 正式な規則には合わないものの、昔から広く使われてきた書き方。代表例が時計の文字盤の IIII(正式には IV)です。このページの計算機は慣用的な表記も読み取り、正式な表記をあわせて表示します。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
| 足し算・引き算(小学1〜2年) |
|
| 十進法の位取り(小学校) |
|
| 大きい順に分ける考え方(小学校・お金の計算) |
|
Excelで計算する方法
| アラビア数字 | 1994 |
| ローマ数字 | =ROMAN(B1) |
| ローマ数字 | MCMXCIV |
| アラビア数字 | =ARABIC(B1) |
2つ目の表は、B1にローマ数字を入れるとB2にアラビア数字が表示されます(MCMXCIV なら 1994)。ARABIC関数は小文字(mcmxciv)でも変換できます。
Googleスプレッドシートで計算する方法
| アラビア数字 | 1994 |
| ローマ数字 | =ROMAN(B1) |
| ローマ数字 | MCMXCIV |
| アラビア数字 | =ARABIC(B1) |
ROMAN関数の上限が 3,999 なのはExcelと共通ですが、Googleスプレッドシートで変換できるのは 1〜3,999 で、0 はエラーになります。
Pythonで計算する方法
value = "1994" # 変換したい値(アラビア数字またはローマ数字)
# 貪欲法の対応表(大きい順。900=CM などの減法ペアも入れておく)
VALUES = [(1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), (100, "C"),
(90, "XC"), (50, "L"), (40, "XL"), (10, "X"), (9, "IX"),
(5, "V"), (4, "IV"), (1, "I")]
def to_roman(n):
# アラビア数字 → ローマ数字(引ける一番大きい値から順に記号へ置き換える)
result = ""
for v, symbol in VALUES:
while n >= v:
result += symbol
n -= v
return result
SYMBOL_VALUES = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000}
def to_arabic(roman):
# ローマ数字 → アラビア数字(右隣の記号の方が大きければ引き算)
total = 0
for i, ch in enumerate(roman):
v = SYMBOL_VALUES[ch]
if i + 1 < len(roman) and SYMBOL_VALUES[roman[i + 1]] > v:
total -= v
else:
total += v
return total
s = value.strip().upper()
if s.isdigit():
print(f"{s} = {to_roman(int(s))}")
else:
print(f"{s} = {to_arabic(s)}")
数式記述言語(LaTeX等)での書き方(コピペ可)
N = v₁ + v₂ + ⋯ + vₖ
N = v_1 + v_2 + \cdots + v_k
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<msub><mi>v</mi><mn>1</mn></msub>
<mo>+</mo>
<msub><mi>v</mi><mn>2</mn></msub>
<mo>+</mo>
<mo>⋯</mo>
<mo>+</mo>
<msub><mi>v</mi><mi>k</mi></msub>
</mrow>
</math>
N = v_1 + v_2 + cdots + v_k
RomanNumeral[1994]
convert(1994, roman);
N = sum([1000 900 90 4]);
N = v_1 + v_2 + ⋯ + v_k
N = Σ ±vᵢ
N = \sum_{i=1}^{k} \pm v_i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi>
<mo>=</mo>
<munderover>
<mo>∑</mo>
<mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow>
<mi>k</mi>
</munderover>
<mo>±</mo>
<msub><mi>v</mi><mi>i</mi></msub>
</mrow>
</math>
N = sum_(i=1)^k +-v_i
FromRomanNumeral["MCMXCIV"]
convert("MCMXCIV", arabic);
N = 1000 - 100 + 1000 - 10 + 100 - 1 + 5;
N = ∑_(i=1)^k ±v_i
ChatGPT に聞いて計算してもらう方法
あなたはローマ数字変換の計算アシスタントです。次の変換を、必ずPythonコードを実際に実行して行い、実行結果だけを根拠に回答してください(暗算や推測で答えないでください)。 1. 1994 をローマ数字に変換してください。 2. ローマ数字の MCMXCIV をアラビア数字に変換してください。 3. 2026 をローマ数字に変換してください。 あわせて、アラビア数字からの変換については 1994 = 1000 + 900 + 90 + 4 のような値の分解も示してください。 計算に使ったコードと、実行結果を示してください。
計算ドリル(演習問題)
このページの変換を、自分の手で読み書きできるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
