MCPで接続 →

計算を入力してください

数字(1〜3,999,999)またはローマ数字を入力してください。1,000倍のオーバーラインを付けるには、文字の前にアンダースコアを置きます:_C=100,000。

公式

公式: ローマ数字変換ツール
Show calculation steps (1)
  1. Number to Roman (greedy)

    Number to Roman (greedy): ローマ数字変換ツール

    Repeatedly subtract the largest value-symbol pair that fits, appending its symbol each time. Overlined symbols (x1000) cover values up to 3,999,999.

広告

結果

結果
MMMDCCXXIV = 3724
オーバーライン付きの文字は、横棒なしの通常テキストで表示されます。アンダースコアの付いた各文字は1,000倍です。
ローマ数字 = アラビア数字
MMM = 3,000
D = 500
CC = 200
XX = 20
IV = 4
合計 = 3,724

このツールでできること

「ローマ数字変換ツール」は、数字とローマ数字を双方向に変換できるツールです。ふだん使う算用数字(アラビア数字)を入力すればローマ数字に、ローマ数字を入力すれば数字に変換します。古典的な範囲に加え、「ヴィンクルム(オーバーライン)」を使った拡張範囲まで対応しており、1から3,999,999までを扱えます。変換方向は自動で判別されます。入力が数字だけならローマ数字へ、それ以外ならローマ数字として読み取って数字に変換します。

ローマ数字の7つの基本記号と対応する十進数の値の一覧表
ローマ数字の7つの基本記号と、それが表す値。

大きな数を表すオーバーライン

古典的なローマ数字は、すっきり書けるのは3,999までです。それより大きな数を表すために、昔の書記は文字の上に横棒(ヴィンクルム)を引き、その文字を1,000倍しました。通常のキーボードではオーバーラインを入力できないため、このツールではアンダースコア(_)をオーバーラインの代わりに使います。アンダースコアは、その直後の1文字だけに適用されます。つまり_Cはオーバーライン付きのC=\(100 \times 1{,}000 = 100{,}000\)、_Mは1,000,000を意味します。画面上の結果は、読みやすさを優先して通常の文字だけで表示されます。

横線を付けて値を1000倍にしたローマ数字
数字の上に横線(バー)を付けると、その値が1,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になります。

IXが10引く1に等しいことを示す減算記法の解説
減算の組み合わせ:大きい記号の前に小さい記号があると引き算になる(\(IX = 10 - 1 = 9\))。

よくある質問

なぜゼロがないのですか? ローマ数字にはゼロを表す記号が存在しません。そのため、扱える最小値は1です。

最大値はいくつですか? 3,999,999です。オーバーライン付きのM・C・Xと通常の文字を組み合わせて表します。

大文字・小文字は区別されますか? いいえ。入力時は大文字・小文字を区別せず、解析前にすべて大文字に変換されます。ただし慣例的には大文字で書くのが一般的です。

最終更新: