MCPで接続 →

計算を入力してください

公式

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

    Roman to Arabic: ローマ数字 日付変換ツール

    Scan left to right; if a symbol value is less than the value to its right, subtract it, otherwise add it.

広告

結果

結果
XII_XXV_MMXXIV
変換された日付の文字列
項目 変換後
XII
XXV
MMXXIV

ローマ数字 日付変換ツールとは?

このツールは、ふつうのカレンダーの日付を XII_XXV_MMXXIV のようなローマ数字の文字列に変換します。逆方向の変換にも対応しており、ローマ数字を通常の数字に戻すこともできます。ローマ数字で表した日付はクラシックで時代を超えた雰囲気があるため、タトゥーや刻印入りのアクセサリー、結婚指輪、記念日のギフト、記念碑の銘文などで広く使われています。

使い方

「月」「日」「年」の各欄に値を入力します。それぞれの欄には、アラビア数字(例:12)でもローマ数字(例:XII)でも入力できます。ツールが入力された形式を自動で判別し、もう一方の形式に変換するため、欄ごとに双方向の変換が可能です。並び順(フォーマット)を選ぶと、3つのパーツが並ぶ順序を指定できます。US(月・日・年)、EU(日・月・年)、ISO(年・月・日)から選べます。区切り文字では、各パーツの間に入れる記号を選べます。ピリオド、中黒、ビュレット、ハイフン、スペース、アンダースコア、スラッシュが用意されています。空欄のままにした項目は、結果から除外されます。

変換のしくみ

アラビア数字からローマ数字への変換には、標準的な減算記法を用います。値と記号のペアを大きい順にたどり(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)、収まる最大の記号を貪欲に追加してはその値を引いていき、残りがなくなるまで繰り返します。

$$n = \sum_{i} \text{symbol}_i \quad \text{(greedy subtractive: }1000{=}M,\ 900{=}CM,\ \dots,\ 1{=}I\text{)}$$

$$\text{while } n>0:\ \text{append largest symbol} \le n,\ n \mathrel{-}= \text{its value}$$

ローマ数字からアラビア数字への変換では、左から右へ読み進め、ある記号の後により大きな記号が続く場合はその値を引き(IX=9 のように)、それ以外は加算します。

$$v = \sum_i \begin{cases} -s_i & s_i < s_{i+1} \\ +s_i & \text{otherwise} \end{cases}$$

広告
ローマ数字の記号とその値の一覧(減算ペアを含む)
7つのローマ数字記号と、貪欲法による変換で使う6つの減算ペア。

具体例

月=12、日=25、年=2024 を、USフォーマットとアンダースコアの区切り文字で変換すると、12 は XII、25 は XXV、2024 は MMXXIV(\(MM=2000,\ XX=20,\ IV=4\))になります。USの並び順でつなげると XII_XXV_MMXXIV となります。ISOの並び順とピリオドの区切り文字に切り替えると、MMXXIV.XII.XXV になります。

日付を日・月・年に分け、それぞれをローマ数字に変換
サンプルの日付を日・月・年に分け、それぞれ変換して区切り文字で連結。

よくある質問

変換できる最大の数はいくつですか? 3999(MMMCMXCIX)です。標準的なローマ数字には 4000 を表す単一の記号が存在しないため、それより大きい値には対応していません。

0年やマイナスの年は表示できますか? いいえ。ローマ数字にはゼロを表す記号がなく、表現できる最小値は 1 です。

入力した日付が実在するかどうかをチェックしますか? いいえ。各項目は独立して変換されるため、2月の31日のような日付でもそのまま変換します。あくまで純粋な数値の変換ツールであり、カレンダーの妥当性を検証するものではありません。

最終更新: