這個轉換器能做什麼
羅馬數字轉換器是一款雙向工具。輸入一般的阿拉伯數字,它會回傳對應的羅馬數字;輸入羅馬數字,它則會換算回阿拉伯數字。本工具支援完整的古典範圍,加上延伸的「上劃線(vinculum)」範圍,涵蓋 1 至 3,999,999。系統會自動判斷你要的轉換方向:若輸入內容全為數字,便將數字轉成羅馬數字;否則就會把文字解析為羅馬數字。
用上劃線表示大數值
古典羅馬數字最多只能乾淨俐落地寫到 3,999。為了表示更大的數字,古代抄寫員會在字母上方畫一條橫線(即 vinculum,上劃線),代表將該字母乘以 1,000。由於一般鍵盤無法直接打出上劃線,本轉換器改用底線作為上劃線標記:底線只作用於緊接其後的那一個字母。因此 _C 代表帶上劃線的 C=\(100 \times 1{,}000 = 100{,}000\),而 _M=1,000,000。為方便閱讀,結果會以一般字母的形式顯示。
使用方式
在單一欄位中輸入數值並送出即可。若是數字,直接輸入就好(逗號會被忽略,所以 1,994 與 1994 視為相同)。若是羅馬數字,請輸入大寫字母 I、V、X、L、C、D、M(小寫也可接受),並在任何字母前加上 _ 來表示乘以 1,000 的上劃線。結果列會顯示「輸入 = 輸出」,下方的拆解表則會列出每一組位數及其對應的阿拉伯數值,最後以「總計」列收尾。
解析時,每個符號的數值依下列規則累加:
$$\text{total} = \sum_i \begin{cases} -v_i & v_i < v_{i+1} \\ +v_i & \text{otherwise} \end{cases}$$等同於:
$$\text{total} = \sum_i \big( v_i < v_{i+1} \;?\; -v_i : +v_i \big)$$而由阿拉伯數字組成羅馬數字時:
$$n = \sum_k c_k \cdot v_k, \quad v_k \in \{\overline{M},\dots,M,\dots,I\}$$實例解說
輸入 MMMDCCXXIV:MMM = 3000、DCC = 700、XX = 20、IV = 4(I 在 V 之前代表 \(5 - 1\))。總計 = \(3000 + 700 + 20 + 4 = \mathbf{3724}\)。反過來看,數字 1994 會拆成 M(1000)+ CM(900)+ XC(90)+ IV(4)= MCMXCIV。
常見問題
為什麼沒有零?羅馬數字系統沒有代表零的符號,因此最小可支援的數值為 1。
最大可支援多少?為 3,999,999,會以帶上劃線的 M、C、X 搭配一般字母來書寫。
大小寫有差別嗎?沒有。輸入時不分大小寫,解析前會一律轉成大寫,不過慣用的標準寫法是大寫。