什麼是羅馬數字日期轉換器?
這個工具能把一般的日曆日期轉換成羅馬數字字串,例如 XII_XXV_MMXXIV,也可以反過來把羅馬數字還原成一般的阿拉伯數字。它常用於刺青、刻字飾品、婚戒、週年紀念禮物與紀念碑銘刻——用羅馬數字呈現的日期,散發著經典而雋永的質感。
使用方式
在「月」、「日」、「年」三個欄位各填入一個數值。每個欄位既可輸入阿拉伯數字(例如 12),也可輸入羅馬數字(例如 XII)——轉換器會自動判斷你輸入的是哪一種,並輸出另一種形式,因此它能逐欄位雙向轉換。選擇格式可設定三個部分的排列順序:US(月、日、年)、EU(日、月、年)或 ISO(年、月、日)。選擇分隔符號則可設定各部分之間插入的字元:點、中點、項目符號、連字號、空格、底線或斜線。若某欄位留空,結果中便會略過該部分。
公式原理說明
從阿拉伯數字轉成羅馬數字時,轉換器採用標準的減法記號規則。它會依數值由大到小逐一比對「數值/符號」對應表:
$$n = \sum_{i} \text{symbol}_i \quad \text{(greedy subtractive: }1000{=}M,\ 900{=}CM,\ \dots,\ 1{=}I\text{)}$$(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),貪婪地接上能容納的最大符號並扣除其數值,直到歸零為止:
$$\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}$$
實際範例
以月=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,工具也照樣轉換——它純粹是數字轉換器,並非日曆驗證工具。