書籤    
鞋碼換算    
根號化簡    
梯形面積    
圓的計算    
扇形面積    
橢圓面積    
圓柱體積    
球的體積    
圓錐體積    
圓管體積    
年齡計算    
天數計算    
複利計算    
單利計算    
利息計算    
現值計算    
ROI 計算機    
IRR 計算機    
GDP 計算機    
ROAS 計算    
BMI 計算機    
BMR 計算機    
1RM 計算機    
進位轉換    
薪資換算    
油錢計算    
油耗計算    
坡度計算    
   新增
機率與隨機計算工具
獨立事件機率
獨立事件機率
兩事件機率反推
兩事件機率反推
重複試驗機率
重複試驗機率
條件機率與貝氏定理
條件機率與貝氏定理
期望值計算機
期望值計算機
二項分布計算機
二項分布計算機
排列組合計算
排列組合計算
環狀排列計算
環狀排列計算
重複組合計算
重複組合計算
亂數產生器
亂數產生器
平均與統計計算工具
平均數計算機
平均數計算機
眾數中位數計算
眾數中位數計算
標準差計算機
標準差計算機
四分位數計算機
四分位數計算機
次數分配表
次數分配表
相關係數計算機
相關係數計算機
常態分布機率
常態分布機率
z 分數計算機
z 分數計算機
信賴區間計算機
信賴區間計算機
樣本數計算機
樣本數計算機
捉放法與抽樣調查
捉放法與抽樣調查
p 值計算機
p 值計算機
比例與百分比計算工具
百分比計算機
百分比計算機
增減率計算機
增減率計算機
百分比差異
百分比差異
百分誤差計算機
百分誤差計算機
比例計算機
比例計算機
打折計算機
打折計算機
營業稅計算機
營業稅計算機
毛利率計算機
毛利率計算機
速度計算工具
速率計算機
速率計算機
密度與濃度計算工具
密度計算機
密度計算機
莫耳濃度計算機
莫耳濃度計算機
分子量/莫耳質量
分子量/莫耳質量
物理與電學計算工具
歐姆定律計算
歐姆定律計算
瓦數↔安培換算
瓦數↔安培換算
電阻色碼計算
電阻色碼計算
電壓降計算
電壓降計算
單位換算計算工具
坪↔平方公尺換算
坪↔平方公尺換算
重量單位換算
重量單位換算
鞋碼換算
鞋碼換算
整數與正負數計算工具
除法直式計算
除法直式計算
最小公倍數計算
最小公倍數計算
最大公因數計算
最大公因數計算
正負數計算機
正負數計算機
質因數分解
質因數分解
一次不定方程式
一次不定方程式
同餘與餘數計算
同餘與餘數計算
因數計算機
因數計算機
羅馬數字轉換
羅馬數字轉換
分數、小數與四捨五入計算工具
分數計算機
分數計算機
帶分數計算機
帶分數計算機
約分計算機
約分計算機
分數換小數
分數換小數
小數換分數
小數換分數
四捨五入計算機
四捨五入計算機
方程式與不等式計算工具
一元一次方程式
一元一次方程式
聯立方程式
聯立方程式
一元二次方程式
一元二次方程式
絕對值方程式
絕對值方程式
一元二次不等式
一元二次不等式
多項式與乘法展開計算工具
二項式定理
二項式定理
平方根與 n 次方根計算工具
根號化簡
根號化簡
開根號計算
開根號計算
指數與對數計算工具
次方計算機
次方計算機
對數計算機
對數計算機
常用對數與位數
常用對數與位數
科學記號換算
科學記號換算
科學記號運算
科學記號運算
半衰期計算機
半衰期計算機
複數計算工具
複數計算機
複數計算機
複數極式轉換
複數極式轉換
棣美弗定理
棣美弗定理
函數與圖形計算工具
直線斜率計算
直線斜率計算
一次函數計算機
一次函數計算機
正比反比計算機
正比反比計算機
二次函數 y=ax²
二次函數 y=ax²
兩點距離公式
兩點距離公式
空間兩點距離
空間兩點距離
內分點與外分點
內分點與外分點
點到直線的距離
點到直線的距離
經緯度距離計算
經緯度距離計算
配方法計算機
配方法計算機
圓方程式計算機
圓方程式計算機
圓錐曲線計算機
圓錐曲線計算機
極坐標轉換
極坐標轉換
數列計算工具
等差數列計算
等差數列計算
等比數列計算
等比數列計算
費氏數列計算
費氏數列計算
遞迴關係式計算
遞迴關係式計算
向量計算工具
向量計算機
向量計算機
向量外積計算
向量外積計算
矩陣計算工具
矩陣計算機
矩陣計算機
行列式計算機
行列式計算機
反矩陣計算
反矩陣計算
平面圖形計算工具
sin cos tan 計算
sin cos tan 計算
度與弧度換算
度與弧度換算
三角函數疊合
三角函數疊合
三角形計算機
三角形計算機
三角形面積計算
三角形面積計算
直角三角形計算
直角三角形計算
畢氏定理計算
畢氏定理計算
多邊形內角外角
多邊形內角外角
相似比與面積比
相似比與面積比
平行線與角
平行線與角
長方形面積
長方形面積
平行四邊形面積
平行四邊形面積
梯形面積
梯形面積
圓的計算
圓的計算
扇形面積
扇形面積
圓周角定理
圓周角定理
橢圓面積
橢圓面積
立體圖形計算工具
正方體體積
正方體體積
正方體表面積
正方體表面積
長方體體積
長方體體積
長方體表面積
長方體表面積
圓柱體積
圓柱體積
圓柱表面積
圓柱表面積
球的體積
球的體積
球的表面積
球的表面積
球冠的體積
球冠的體積
球冠的表面積
球冠的表面積
橢球的體積
橢球的體積
橢球的表面積
橢球的表面積
四角錐體積
四角錐體積
四角錐表面積
四角錐表面積
圓錐體積
圓錐體積
圓錐表面積
圓錐表面積
圓錐台體積
圓錐台體積
圓錐台表面積
圓錐台表面積
圓管體積
圓管體積
膠囊形體積
膠囊形體積
膠囊表面積
膠囊表面積
日期與時間計算工具
年齡計算
年齡計算
天數計算
天數計算
幾天後的日期
幾天後的日期
幾小時後的日期時間
幾小時後的日期時間
星期幾查詢
星期幾查詢
時間加減計算機
時間加減計算機
時差計算機
時差計算機
工時計算機
工時計算機
時間差計算機
時間差計算機
打卡工時計算
打卡工時計算
金融與經濟計算工具
複利計算
複利計算
單利計算
單利計算
利息計算
利息計算
財務計算機 TVM
財務計算機 TVM
現值計算
現值計算
未來值計算
未來值計算
ROI 計算機
ROI 計算機
IRR 計算機
IRR 計算機
回收期間計算
回收期間計算
平均報酬率計算
平均報酬率計算
GDP 計算機
GDP 計算機
網路行銷與廣告指標計算工具
CTR 點擊率計算
CTR 點擊率計算
CVR 轉換率計算
CVR 轉換率計算
CPC、CPM、CPA 計算
CPC、CPM、CPA 計算
ROAS 計算
ROAS 計算
損益平衡 CPA
損益平衡 CPA
LTV 顧客終身價值
LTV 顧客終身價值
CAC 顧客取得成本
CAC 顧客取得成本
流失率計算
流失率計算
A/B 測試顯著性
A/B 測試顯著性
A/B 測試樣本數
A/B 測試樣本數
SEO 流量預估
SEO 流量預估
損益平衡點計算
損益平衡點計算
成本率毛利率換算
成本率毛利率換算
CAGR 計算機
CAGR 計算機
健康與健身計算工具
BMI 計算機
BMI 計算機
睡眠週期計算
睡眠週期計算
熱量計算機
熱量計算機
BMR 計算機
BMR 計算機
TDEE 計算機
TDEE 計算機
理想體重計算機
理想體重計算機
體脂率計算機
體脂率計算機
去脂體重計算機
去脂體重計算機
消耗熱量計算機
消耗熱量計算機
蛋白質計算機
蛋白質計算機
三大營養素計算
三大營養素計算
碳水攝取量計算
碳水攝取量計算
脂肪攝取量計算
脂肪攝取量計算
孩子身高預測
孩子身高預測
運動計算工具
高爾夫差點計算
高爾夫差點計算
配速計算機
配速計算機
1RM 計算機
1RM 計算機
目標心跳率計算
目標心跳率計算
氣象計算工具
體感溫度計算
體感溫度計算
風寒效應計算
風寒效應計算
露點溫度計算
露點溫度計算
電腦計算工具
進位轉換
進位轉換
子網路計算機
子網路計算機
下載時間計算
下載時間計算
家計與水電瓦斯費計算工具
家電電費計算
家電電費計算
度數算電費/反推
度數算電費/反推
年耗電量算電費
年耗電量算電費
冷氣坪數計算
冷氣坪數計算
冷氣電費計算
冷氣電費計算
暖氣電費比較
暖氣電費比較
瓦斯與電費比較
瓦斯與電費比較
換 LED 省多少
換 LED 省多少
薪資換算
薪資換算
家庭收支計算
家庭收支計算
汽車計算工具
油錢計算
油錢計算
電動車充電費用
電動車充電費用
電動車 vs 油車
電動車 vs 油車
油耗計算
油耗計算
輪胎尺寸計算
輪胎尺寸計算
太陽能發電與儲能計算工具
太陽能發電量
太陽能發電量
太陽能板片數
太陽能板片數
太陽能回本年限
太陽能回本年限
儲能電池容量試算
儲能電池容量試算
居家與 DIY計算工具
磁磚數量計算
磁磚數量計算
樓梯尺寸計算
樓梯尺寸計算
混凝土用量計算
混凝土用量計算
房間牆面積計算
房間牆面積計算
壁紙用量計算
壁紙用量計算
油漆用量計算
油漆用量計算
木地板片數計算
木地板片數計算
外牆面積計算
外牆面積計算
碎石用量計算
碎石用量計算
水泥砂漿配比
水泥砂漿配比
坡度計算
坡度計算
木材裁切計算
木材裁切計算
建蔽率、容積率
建蔽率、容積率
地板捲材用量
地板捲材用量
隔熱材用量計算
隔熱材用量計算
窗簾尺寸計算
窗簾尺寸計算
電視尺寸與距離
電視尺寸與距離
培養土用量計算
培養土用量計算
草皮用量計算
草皮用量計算
空心磚數量計算
空心磚數量計算
紅磚數量計算
紅磚數量計算
木棧板材料計算
木棧板材料計算
坡道長度計算
坡道長度計算
螺絲導孔與長度
螺絲導孔與長度
換氣量計算
換氣量計算
油漆稀釋計算
油漆稀釋計算
踢腳板長度計算
踢腳板長度計算
百葉窗捲簾尺寸
百葉窗捲簾尺寸
掛畫高度與位置
掛畫高度與位置
排水坡度與高低差
排水坡度與高低差
螺絲數量計算
螺絲數量計算
木材才數計算
木材才數計算
圍籬材料計算
圍籬材料計算
木材收縮計算
木材收縮計算
矽利康用量計算
矽利康用量計算
房間熱損失計算
房間熱損失計算
家具搬入計算
家具搬入計算
搬家紙箱數量
搬家紙箱數量
收納容量計算
收納容量計算
板材裁切計算
板材裁切計算
層板承重計算
層板承重計算

羅馬數字轉換(羅馬數字⇔阿拉伯數字)

不論輸入數字(阿拉伯數字)或羅馬數字,都會自動判斷並互相轉換,也會顯示像 1000 + 900 + 90 + 4 這樣的分解過程。

可轉換的範圍是 1~3,999,999 的整數。4,000 以上會變成加上上橫線的羅馬數字。加上橫線的符號,可以像「_M」這樣加上底線輸入(也可以直接複製轉換結果貼上)。IIII 這種慣用寫法也能讀取。
計算結果
在左邊的輸入欄填入數字或羅馬數字,按下「計算」,轉換結果和分解過程就會顯示在這裡。

這個頁面可以做什麼

  • 「1994 寫成羅馬數字是什麼?」「MCMXCIV 是多少?」這類轉換,用 1 個輸入欄就能雙向一次完成(自動判斷輸入的是數字還是羅馬數字)
  • 會顯示像 1000 + 900 + 90 + 4 → M + CM + XC + IV 這樣的分解過程,讓您學會轉換的方法
  • 時鐘的鐘面、電影或遊戲的續集編號、奧運的屆數等地方看到的羅馬數字,都能當場看懂
  • 4,000 以上的大數,可以轉換成加上上橫線的羅馬數字(可用底線輸入,最多到 3,999,999)
  • 時鐘鐘面常用的 IIII 這種慣用寫法也能讀取,並同時顯示正式寫法(IV)
可轉換的範圍是 1~3,999,999 的整數。0、負數和小數,羅馬數字沒有辦法表示。

這個計算有什麼用?

看懂時鐘的鐘面(也能解開 IIII 之謎)

最常看到羅馬數字的地方,就是手錶和掛鐘的鐘面。XII 是 12 點、III 是 3 點、IX 是 9 點——懂了減法規則,全部都看得懂。
仔細看會發現,很多時鐘的 4 點不是寫成正式的 IV,而是 IIII。這是有「鐘面左右比較平衡」「避免 IV 和天神朱比特(IVPPITER)的拼法重疊」等各種說法的傳統慣用寫法,作為規則的例外流傳至今。

看懂電影、遊戲的續集編號

「洛基 IV」是第 4 集、「Final Fantasy VII」是第 7 代、「勇者鬥惡龍 III」是第 3 代、「星際大戰 Episode IV」是四部曲——續集的編號常常使用羅馬數字。
超過 X 之後,像「XIII(第 13 代)」就比較難讀,但只要懂減法規則就不會搞錯。能一眼看懂作品標題裡的數字,也算是一點小常識。

奧運和超級盃的屆數

國際活動的「第 ◯ 屆」常使用羅馬數字。2024 年的巴黎奧運是「第 XXXIII 屆奧林匹克運動會」(第 33 屆),美國最大的運動賽事超級盃,也寫成「Super Bowl LVIII」(第 58 屆,2024 年)。
在新聞或海報上看到這種寫法時,就能讀出 XXXIII = 10+10+10+1+1+1 = 33。

看懂國王、教宗的「◯ 世」

歐洲君主和教宗的世代,在英文等語言中用羅馬數字書寫。伊莉莎白二世是 Elizabeth II,法國太陽王路易十四是 Louis XIV,教宗若望保祿二世是 John Paul II。
在歷史書、國外新聞或紀念幣上看到「Henry VIII(亨利八世)」這樣的寫法時,就能正確讀出 VIII = 5+1+1+1 = 8。

電影片尾字幕和建築物奠基石上的年份

電影片尾字幕的最後,有時會用羅馬數字寫上製作年份,例如「MMXXVI」(2026 年)。歐美建築物的奠基石和紀念碑,傳統上也會刻上用羅馬數字寫的完工年份。
例如 MCMLXIV 是 1000+900+60+4 = 1964——東京第一次舉辦奧運的那一年。再長的年份,只要像 M、CM、LX、IV 這樣按符號的組合分段相加,就能正確讀出來。

公式

阿拉伯數字 → 羅馬數字(貪婪演算法的分解)
數學寫法 (一般的數學式)
\(N\) \(=\) \(v_1\) \(+\) \(N_1\)
文字寫法 (把符號換成文字的公式)
① \(N\):要轉換的數 \(=\) ② \(v_1\):能減去的最大值 \(+\) ③ \(N_1\):剩下的數
用文字讀公式
① \(N\):要轉換的數 減去
② \(v_1\):能減去的最大值 (從 1000、900、500、400、100、90、50、40、10、9、5、4、1 中選),寫下對應這個值的符號(M、CM、D、CD、C、XC、L、XL、X、IX、V、IV、I),
③ \(N_1\):剩下的數 變成 0 之前一直重複同樣的步驟。把寫下的符號由左到右依序排好,就是羅馬數字
簡單範例
把 1994 換成羅馬數字(從能減去的最大值開始,依序分解成 1000 → 900 → 90 → 4)
要轉換的數(1994) \(=\) 1000(M) \(+\) 900(CM) \(+\) 90(XC) \(+\) 4(IV)
\(1994 = 1000 + 900 + 90 + 4\)
\(\mathrm{M} + \mathrm{CM} + \mathrm{XC} + \mathrm{IV} = \mathrm{MCMXCIV}\)
思考重點
「貪婪演算法」是指每一步都選當下能選的最大值的做法。和付 1,994 元時「1000 元鈔 1 張 → 500 元鈔 1 張 →……」從大面額開始付是同樣的想法。把 900(CM)、400(CD)、90(XC)、40(XL)、9(IX)、4(IV)這些減法組合也放進對照表裡來選,正式的羅馬數字就一定只有一種寫法。超過 3,999(MMMCMXCIX)的數,要在符號上畫一條上橫線表示 1000 倍(例如:\(\overline{\mathrm{X}}\) = 10,000)。在這個頁面,加上橫線的符號可以像「_X」這樣加上底線輸入。
羅馬數字 → 阿拉伯數字(減法規則)
數學寫法 (一般的數學式)
\(N\) \(=\) \(\displaystyle\sum_{i=1}^{k}\) \(\pm\, v_i\)
文字寫法 (把符號換成文字的公式)
③ \(N\):用阿拉伯數字表示的值 \(=\) ② \(\displaystyle\sum\):全部相加 ① \(v_i\):各符號的值
用文字讀公式
① 從左邊開始讀符號,把 \(v_i\):各符號的值(右邊相鄰的符號比較大就是減,否則是加) ,
② \(\displaystyle\sum\):全部相加 ,就是
③ \(N\):用阿拉伯數字表示的值 。
簡單範例
把 MCMXCIV 換成阿拉伯數字(M 前面的 C、C 前面的 X、V 前面的 I,右邊相鄰的比較大,所以是減)
用阿拉伯數字表示的值 \(N\) \(=\) 1000 − 100 + 1000 − 10 + 100 − 1 + 5
\(1000 - 100 + 1000 - 10 + 100 - 1 + 5 = 1994\)
思考重點
羅馬數字的讀寫規則有下面 4 條。(1) 從大的符號開始由左往右排,把值相加(LXIII = 50 + 10 + 3 = 63)。(2) 同一個符號最多只能連續寫 3 次(4 不寫成 IIII,而是 IV)。(3) 小的符號放在大的符號前面就是減(減法記數)。能用來減的只有 I、X、C 這 3 個,而且 I 只能放在 V、X 前面,X 只能放在 L、C 前面,C 只能放在 D、M 前面(49 不能寫成 IL,要寫成 XLIX)。(4) V、L、D 不重複使用,也不用來減。另外,時鐘的鐘面傳統上會用違反規則 (2) 的 IIII(有鐘面左右比較平衡等各種說法)。這個頁面的計算機也能讀取這類慣用寫法,並同時顯示正式寫法。
羅馬數字的轉換,基本上是這 2 個方向:「阿拉伯數字 → 羅馬數字,是依對照表的值由大到小一直減下去(貪婪演算法)」,以及「羅馬數字 → 阿拉伯數字,是把各符號的值相加,但右邊相鄰的符號比較大時要減(減法規則)」。基本的 7 個符號最多只能寫到 3,999,更大的數要用上橫線表示 1000 倍。

符號與用語解說

符號

I 表示 1 的符號,據說來自 1 根手指的形狀。I=1、II=2、III=3。
V 表示 5 的符號,有一說是來自張開的手掌(5 根手指)的形狀。
X 表示 10 的符號,有一說是 2 個 V(5)上下疊起來的形狀。
L 表示 50 的符號。
C 表示 100 的符號,據說取自拉丁文 centum(100)的第一個字母。和「公分(centimeter,百分之一公尺)」的 centi 同一個字源。
D 表示 500 的符號,有一說是來自表示 1000 的古老符號的右半邊。
M 表示 1000 的符號,據說取自拉丁文 mille(1000)的第一個字母。和「公釐(millimeter,千分之一公尺)」的 milli 同一個字源。
X̅ 加上橫線的 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,也是程式設計的基本想法之一。從阿拉伯數字轉換成羅馬數字時,用這個方法一定會得到正式寫法。
上橫線 畫在符號上方的橫線,拉丁文叫 vinculum(「連結、紐帶」的意思)。畫了上橫線的符號,值會變成 1000 倍,可以表示基本 7 個符號寫不出來的 4,000 以上的數。這個頁面最多可轉換到 3,999,999。
慣用寫法 雖然不符合正式規則,但自古以來廣泛使用的寫法。代表例子是時鐘鐘面的 IIII(正式寫法是 IV)。這個頁面的計算機也能讀取慣用寫法,並同時顯示正式寫法。

建議先了解的基礎知識

為了能「真正理解意義」地使用這個頁面的計算,這裡整理了建議事先了解的基礎知識。

加法與減法(國小一~二年級,6~8 歲)
  • 能正確算出 1000 + 900 + 90 + 4 這樣的加法
  • 能像 5 − 1 = 4 這樣求出兩個數的差(減法記數就是這種減法)
十進位的位值(國小,6~12 歲)
  • 知道 1994 可以分解成「1 個 1000、9 個 100、9 個 10、4 個 1」
  • 意識到阿拉伯數字的值會隨寫的位置改變(位值),而羅馬數字每個符號的值是固定的,不會因位置改變
由大到小分開的想法(國小、錢的計算,6~12 歲)
  • 能像付 1,994 元時「1000 元鈔 1 張、500 元鈔 1 張、100 元鈔 4 張、50 元硬幣 1 枚、10 元硬幣 4 枚、1 元硬幣 4 枚」這樣,從大面額開始依序付錢(和貪婪演算法是同樣的想法)

用 Excel 計算的方法

把下方表格整個複製,貼到 Excel 的 A1 儲存格就能直接使用。
「阿拉伯數字 → 羅馬數字」的表格
阿拉伯數字 1994
羅馬數字 =ROMAN(B1)
「羅馬數字 → 阿拉伯數字」的表格
羅馬數字 MCMXCIV
阿拉伯數字 =ARABIC(B1)
第 1 個表格,在 B1 輸入阿拉伯數字,B2 就會顯示羅馬數字(1994 就是 MCMXCIV)。ROMAN 函數能轉換的範圍是 0~3,999,0 會變成空字串,負數和 4,000 以上會出現錯誤(不支援上橫線的寫法)。
第 2 個表格,在 B1 輸入羅馬數字,B2 就會顯示阿拉伯數字(MCMXCIV 就是 1994)。ARABIC 函數輸入小寫(mcmxciv)也能轉換。

用 Google 試算表計算的方法

把下方表格整個複製,貼到 Google 試算表的 A1 儲存格就能直接使用。
「阿拉伯數字 → 羅馬數字」的表格
阿拉伯數字 1994
羅馬數字 =ROMAN(B1)
「羅馬數字 → 阿拉伯數字」的表格
羅馬數字 MCMXCIV
阿拉伯數字 =ARABIC(B1)
和 Excel 相同的 ROMAN 函數、ARABIC 函數可以直接使用。把整個表格複製後貼到 A1 儲存格,再把 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)}")
只用標準函式庫就能執行。to_roman 是貪婪演算法(從能減去的最大值開始依序換成符號),to_arabic 是減法規則(右邊相鄰的符號比較大就用減的)的實作。這段程式碼只處理基本 7 個符號(1~3,999),不支援上橫線。請把開頭的 value 改掉再執行。

用 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>&#x22EF;</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>&#x2211;</mo>
      <mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow>
      <mi>k</mi>
    </munderover>
    <mo>&#xB1;</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. 1
    輸入數值
    在輸入欄中輸入要計算的數值
  2. 2
    計算
    按下「計算」按鈕
  3. 3
    查看結果
    計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
  DataChef 的特色
簡單又免費
免費且無使用次數限制
不需專業知識,操作直覺又簡單
免註冊會員
開啟頁面即可立即使用
無須登錄任何個人資料
安全又安心
通訊全程高度加密
按下「下載」後自動刪除檔案
高速
顯示與轉換都快速順暢,毫無等待壓力
無浮水印
沒有浮水印
無須標註來源出處
可商業使用
可免費用於商業用途
亦無須事先取得商用授權