羅馬數字轉換器

羅馬數字轉換器

可在阿拉伯數字與羅馬數字之間互相轉換,也支援日期與分數換算。想知道轉換器是如何運作的,可以參考下方說明。

說明

轉換器如何運作?

羅馬公民一枚

請在左側面板輸入數字。如果輸入的是阿拉伯數字,例如22,想轉換成羅馬數字,就點擊「轉換為羅馬數字」按鈕;如果輸入的是羅馬數字,例如 XIX,想轉換成阿拉伯數字,就點擊「轉換為阿拉伯數字」按鈕。

如果您還不太清楚轉換器怎麼使用,或想先看看例子,可以點擊下方按鈕,讓系統把三組範例中的其中一組填入左側面板。每組範例都同時包含阿拉伯數字和羅馬數字,所以您可以試著從兩個方向進行轉換,看看不同部分會如何對應。也建議您繼續往下閱讀,進一步了解羅馬數字的轉換原理。

羅馬數字是怎麼運作的?

基本羅馬數字

羅馬數字是由幾個大寫拉丁字母組成的,也就是 I、V、X、L、C、D 和 M。每一個字母都代表一個固定的數值,整理如下表。

I1
V5
X10
L50
C100
D500
M1000

要寫出一個羅馬數字,其實就是把幾個代表不同數值的字母排在一起,再依照加法或減法的原理,組成想要表示的數目。我們先從簡單的例子來看。假如要表示56,可以先想到50、5和1。羅馬數字中,L 表50,V 表5,I 表1,所以56就可以寫成 LVI。也就是說,LVI = 50 + 5 + 1 = 56。有些時候,同一個字母會連續出現。例如23寫成 XXIII,這是因為 X 表10,I 表1,兩個 X 加上三個 I,正好就是23:XXIII = X + X + I + I + I = 10 + 10 + 1 + 1 + 1 = 23。不過,羅馬數字並不是想重複幾次就重複幾次。一般來說,相同的字母不能連續寫超過三次。那麼,如果需要表示第四個相同的字母,該怎麼辦呢?這時就要用到減法原理:把較小的字母放在較大的字母左邊,表示用大的數減去小的數。例如934寫成 CMXXXIV。這個數字可以拆開來看:C 在 M 的左邊,表示1000 − 100,也就是900;XXX 表示3 × 10,也就是30;I 在 V 的左邊,表示5 − 1,也就是4。因此,CMXXXIV 表示的就是 900 + 30 + 4 = 934。但是,減法原理也不是任意兩個字母都可以使用。I 只能放在 V 或 X 左邊,X 只能放在 L 或 C 左邊,C 只能放在 D 或 M 左邊。舉例來說,95不能寫成 VC,因為 V 不能放在 C 左邊表示相減。正確的寫法應該是 XCV。最後還有一個原則:除了上述這些相減的情況之外,羅馬數字通常是由左到右,依照數值由大到小排列。因此,551不能寫成 LID,因為字母的順序不對;正確寫法是 DLI,因為 D > L > I,也就是500 > 50 > 1。下面的表格整理了一些常見的羅馬數字,讀者可以對照看看,也可以試著自己推算它們是怎麼組成的。

I1
II2
III3
IV4
V5
VI6
VII7
VIII8
IX9
X10
XI11
XII12
XIII13
XIV14
XV15
XVI16
XVII17
XVIII18
XIX19
XX20
XXI21
XXII22
XXIII23
XXIV24
XXV25
XXVI26
XXVII27
XXVIII28
XXIX29
XXX30
XL40
L50
LX60
LXX70
LXXX80
XC90
C100
CXXI121
CXLIV144
CLXIX169
CXCVI196
CCXXV225
CCLVI256
CDLXXVI476
DCXXII622
MCDXCII1492
MDCCLXXXIX1789
MCMXXXIX1939
MCMXCI1991
MMXIX2019
古代日晷一座

有時候,我們也會看到四個相同的字母連在一起使用。比如說,有些老式鐘面上會把4寫成 IIII,而不是 IV;也有些地方會把40寫成 XXXX,而不是 XL。這樣的寫法並不是完全看不懂,也有一些作者會這樣使用,本轉換器也能辨識。不過,這種寫法現在比較少見,一般仍不建議這樣寫。

另外,有些羅馬數字會用小寫字母表示,例如把6寫成 vi,或把13寫成 xiii。要注意的是,本轉換器無法辨識小寫字母;如果要進行轉換,必須先把它們改成大寫,例如 VI、XIII。

大於1000的羅馬數字

羅馬數字的寫法其實不只一種。從古羅馬時期到中世紀歐洲,羅馬數字的形式曾經慢慢演變;即使羅馬帝國滅亡之後,它在歐洲仍然被廣泛使用。大數字的寫法也是如此,歷史上曾出現過幾種不同的表示方法。其中比較常見的一種,是在字母上方加一條橫線,表示這個字母的數值要乘以1000。也就是說,VI 原本表示6;如果在 VI 上方加上橫線(VI),就表示6,000。這個方法可以用在所有的自然數上。例如,CMXXXIV 原本是934;若整組上方加上橫線(CMXXXIV),就表示934,000。有時候,也可以把有橫線和沒有橫線的字母混合使用。比如說,LXVDXXXVI 可以表示65,536。一般來說,4000以下的數字傳統上會用 M 來表示千位;因此2019通常會寫成 MMXIX。不過,若用上方橫線的方式寫成 IIXIX,也不能說是錯,只是 MMXIX 會比較常見、也比較建議使用。下方表格列出幾個羅馬大數的寫法,讀者可以對照看看。如果要把這類數字輸入轉換器,不能直接使用上方橫線,而是要把需要加橫線的字母放在方括號中;表格最後一欄會示範實際輸入方式。

阿拉伯數字 羅馬數字 轉換器的輸入或輸出
24,901 XXIVCMI [XXIV]CMI
40,075 XLLXXV [XL]LXXV
238,900 CCXXXVIIICM [CCXXXVIII]CM
299,792 CCXCIXDCCXCII [CCXCIX]DCCXCII
384,400 CCCLXXXIVCD [CCCLXXXIV]CD
1,048,576 MXLVIIIDLXXVI [MXLVIII]DLXXVI
4,999,999 MMMMCMXCIXCMXCIX [MMMMCMXCIX]CMXCIX

依照上述規則,這種寫法最多可以表示到 MMMMCMXCIXCMXCIX,也就是 4,999,999。再大的數字,就無法用前面介紹的規則來表示了。

羅馬分數

羅馬分數的概念,和整數的寫法有些相似。要表示一個分數時,也是把不同的符號依照數值由大到小排列,讓它們加起來等於想表示的分數。羅馬分數一共有14個可使用的符號,整理如下表。

拉丁文名稱 字義 有理分數 近似小數值 原始字元 近似字形 鍵盤易輸入
semis 一半 1/2 0.50000 S S S
quincunx 五盎司 5/12 0.41667 𐆐𐆐𐆑 .....
triens 三分之一 4/12 = 1/3 0.33333 𐆐𐆐 ....
quadrans 四分之一 3/12 = 1/4 0.25000 𐆐𐆑 ...
sextans 六分之一 2/12 = 1/6 0.16667 𐆐 : ..
sescuncia 1.5盎司 1/8 0.12500 𐆒𐆑 Є· E.
uncia 盎司 1/12 0.08333 𐆑 · .
semuncia 半盎司 1/24 0.04167 𐆒 Є E
binae sextulae 兩個 sextula 1/36 = 1/72 + 1/72 0.02778 𐆓𐆓 ƧƧ ZZ
sicilicus 鐮刀形 1/48 0.02083 𐅀 Ɔ O
sextula 六分之一盎司 1/72 = 1/6 × 1/12 0.01389 𐆓 Ƨ Z
dimidia sextula 半個 sextula 1/144 = 1/2 × 1/72 0.00694 𐆔 A
scripulum 小石子 1/288 0.00347 Э P
siliqua 穀粒 1/1728 0.00058 𐆕 » Q

只有 unciasiliqua 這兩個符號可以重複使用,而且最多都只能重複5次。其他符號原則上不能重複,除非它們在上表中本來就是以重複形式出現,例如用兩個 sextula 組成 binae sextulae

可以看到,用羅馬分數能表示的最小單位是1/1728。也就是說,它能做到的最高精細度,大約就到這裡為止。另外,羅馬分數是以12為基礎來計算的。這和我們現在常用的十進位小數不同,所以有些在十進位裡很容易表示的分數,到了羅馬分數裡反而無法精準寫出來。例如0.1,也就是1/10,在羅馬分數中會寫成:uncia + sextula + 5 × siliqua, 換算起來就是:1/12 + 1/72 + 5 × 1/1728 = 173/1728 ≈ 0.10012。可以發現,這個結果很接近0.1,但並不是完全相等。因此,多數情況下,羅馬分數表示出來的會是一個近似值,而不一定是原本數字的精確值。下方表格列出幾個例子。最後一欄會用十進位小數寫出該羅馬分數的實際數值,方便和前兩欄的原始數字互相比較。

有理分數 近似小數值 羅馬數字(近似字形) 計算過程
1/2 0.5 S 1/2 = 0.5
1/3 0.33333 1/3 ≈ 0.33333
1/4 0.25 1/4 = 0.25
1/10 0.1 ·Ƨ»»»»» 1/12 + 1/72 + 5/1728 = 173/1728 ≈ 0.10012
1/5 0.2 :ƧƧЭ»»»» 1/6 + 1/36 + 1/288 + 4/1728 = 173/864 ≈ 0.20023
3/10 0.3 ∴Є₴»» 1/4 + 1/24 + 1/144 + 2/1728 = 259/864 ≈ 0.29977
1/7 0.14286 Є·ƧЭ» 1/8 + 1/72 + 1/288 + 1/1728 = 247/1728 ≈ 0.14294
12345/100000 0.12345 ·ƧƧ₴Э»»» 1/12 + 1/36 + 1/144 + 1/288 + 3/1728 = 71/576 ≈ 0.12326
99/100 0.99 S⁙ЄƧƧЭ» 1/2 + 5/12 + 1/24 + 1/36 + 1/288 + 1/1728 = 1711/1728 ≈ 0.99016
999/1000 0.999 S⁙ЄƧƧ₴Э»»»» 1/2 + 5/12 + 1/24 + 1/36 + 1/144 + 1/288 + 4/1728 = 863/864 ≈ 0.99884
9999/10000 0.9999 I 1
314/100 3.14 IIIЄ·Ƨ»» 3 + 1/8 + 1/72 + 2/1728 = 3 121/864 ≈ 3.14005
31415/10000 3.1415 IIIЄ·Ƨ»»»»» 3 + 1/8 + 1/72 + 5/1728 = 3 245/1728 ≈ 3.14178

轉換器在讀取和寫出羅馬分數時,會使用三組不同的符號。第一組是「原始字元」。這些符號是根據 David J. Perry 關於 Unicode 古典拉丁字元的文件整理而來Unicode 是一套讓電腦和各種電子裝置能正確顯示文字與符號的標準。這一組符號可以說是比較正確的寫法,因為它們本身就帶有對應羅馬分數的意義,也參考了歷史上羅馬分數曾經使用過的符號形式。不過,問題也出在這裡。由於這些符號比較少見,即使是在現代電腦上,也不一定每一個都能正常顯示。因此,如果選擇「原始字元」,有時候可能會看到空白方塊,或是其他替代符號,而不是正確的圖形。遇到這種情況時,可以改用「近似字形」。這一組使用的是大多數現代系統都能顯示的符號,外觀看起來和羅馬分數符號相近,只是它們原本的意思可能並不相同。比如說,dimidia sextula 會用外形相近的荷林夫納符號來表示。不論是「原始字元」還是「近似字形」,都有一個共同的不便:它們都不是鍵盤上容易直接打出來的符號。因此,轉換器也提供第三種選項,也就是「鍵盤易輸入」。如果您是用鍵盤在轉換器中輸入羅馬分數,只要能輸入拉丁字母,這一組符號就會比較方便使用。

整數和分數也可以放在一起使用。寫法很簡單:先寫整數,再把分數緊接在後面即可。在「近似字形」設定下,3.14可以寫成 IIIЄ·Ƨ»»。

羅馬數字中的零

關於古羅馬人是否使用「零」,目前並沒有太多明確的證據。到了中世紀,學者開始用不同方式來表示0,其中一種就是用字母 N。本轉換器也採用了這種表示方式。

阿拉伯數字

如果要讓轉換器正確辨識阿拉伯數字,輸入時要注意幾個地方:

  1. 千位數不能用逗號分隔。數字必須連在一起,中間不要加任何符號。例如三千要寫成3000,而不是3,000。
  2. 轉換器會依據您系統中的設定判斷小數分隔符號,通常會是點號。不過,如果需要,也可以在選項中改成其他符號。要注意的是,選項裡的小數分隔符號,必須和您輸入的數字一致,轉換器才能正確讀取。
  3. 如果輸入的是小於1的小數,前面也要記得加上0。也就是說,0.25會被轉換器理解為一個小數(四分之一),但.25則會被理解成一個點號,後面接著整數25。
  4. 另外,也可以輸入有理分數。寫法是先輸入整數,再用空格和分數隔開;分數的部分則依序寫上分子、「/」符號和分母。例如3 7/50會被轉換器理解為3.14。如果沒有整數部分,也可以只輸入分式。例如3/4會被理解為0.75。

您可以關閉阿拉伯數字的分數功能。轉換器預設會使用有理分數,因為這種寫法比較精確;所以如果有理分數和小數兩種分數功能都開啟,轉換器會優先產生有理分數。如果您比較想使用小數,就需要先關閉有理分數。這樣一來,轉換器才會改用小數來表示。若兩種分數功能都關閉,轉換器就會把分數拆開來,當成幾個獨立的整數處理。這在某些情況下反而很有用,例如要轉換日期時,就可以這樣設定。下方會再說明。

轉換器的功能與特色

說明

轉換器會在「說明」欄位顯示計算過程。它也會把有理分數的近似值換算成小數,方便您比較轉換前後,羅馬分數和阿拉伯分數之間相差多少。此外,如果轉換器在處理過程中遇到問題,也會在說明中提示。遇到無法轉換的數字時,該內容會先以原本的形式保留在輸出欄位中,並在「說明」欄位提供原因。

轉換日期

如果要轉換用斜線寫成的日期,建議先關閉有理分數。舉例來說,如果有理分數功能開啟,當您把12/6/10從阿拉伯數字轉成羅馬數字時,轉換器會把12/6視為第一個分數,而把10視為另一個獨立的整數,因此結果會變成 II/X。如果關閉有理分數,轉換器就會把斜線前後的數字分開處理,結果會是 XII/VI/X。

同樣地,如果在日期中使用小數分隔符號,也可能讓轉換器產生不是您預期的結果。舉例來說,假如您把小數分隔符號設定為點號,並且開啟小數功能,這時輸入2019.03.11,想從阿拉伯數字轉成羅馬數字,轉換器可能會把2019.03視為第一個數字,而把11視為第二個數字,中間再用點號隔開。結果就會變成 MMXIXƧƧ»»»».XI(若選用「近似字形」設定)。如果關閉小數功能,轉換器就會把日期中的數字分開處理,得到您原本想要的結果:MMXIX.III.XI。

轉換多個數字

一般來說,您可以在輸入欄位中輸入任何文字。轉換器會在文字中尋找可以轉換的數字,並嘗試將它們替換成對應的形式;其他文字則會盡量保持不變。這樣一來,如果一次想轉換多個數字,就會方便許多。例如,您可以把每個數字分別輸入在不同的行中,再一次進行轉換。

不過,有時候轉換結果可能會和您預期的不太一樣,特別是把羅馬數字轉成阿拉伯數字時,更容易遇到這種情況。為什麼會這樣呢?因為有些文字裡的符號,可能剛好也是羅馬數字會用到的字母。舉例來說,文章中每一個大寫的 I,都有可能被轉換器判讀成羅馬數字1。又或者,在「鍵盤易輸入」設定下,某些點號也可能被轉換成分數符號。類似的情況,都可能造成不預期的結果。

選項

轉換器提供了一些設定,可以依照需要調整轉換方式。大部分的設定,在前面的說明中已經介紹過。如果想查看可用的選項,可以在頁面上方的「輸入」與「輸出」欄位下方,點擊「顯示選項」按鈕。再點擊一次,就可以把選項收起來。

其中,「羅馬數字分數」這一組設定,是用來決定轉換器在讀取和顯示羅馬分數時,要使用哪一種字元。關於羅馬分數的運作方式,以及有哪些符號可以使用,可以參考前面的「羅馬分數」段落。

「阿拉伯數字分數」這一組設定,可以調整三件事:第一,是否讓轉換器讀取和寫出用有理式寫的分數;第二,是否允許使用小數分隔符號來表示小數;第三,小數分隔符號要使用哪一個字元。關於這些設定的詳細說明,可以參考前面的「阿拉伯數字」段落。

一位羅馬皇帝

意見回饋

如果您發現錯誤或想到可以讓轉換器變得更好的方法,歡迎寫信告訴我們。點擊「提供意見回饋」按鈕,就可以開啟意見回饋表單。這個按鈕位於頁面開頭,也就是「輸入」與「輸出」欄位的下方。再點擊一次,則可以把表單收起來。

意見回饋表單可以讓您附上目前轉換器中的輸入內容和輸出結果。如果您在輸出結果中發現錯誤,建議使用這個選項,這樣作者才能更清楚知道問題出在哪裡。您可以在「您的意見回饋」欄位中描述您覺得哪裡不對,再勾選「附上轉換器資料」,最後點擊「送出」按鈕。謝謝您的協助!凱撒大帝看了也會感到欣慰。

意見回饋已送出。謝謝您。

中出現除以零的情況。

數字 有誤。

數字 過大。

有誤: 連續出現太多次,最多只能 次。

有誤:)不能出現在 )之後。

有誤:同一個數字中,千位不能同時使用

有誤:分數符號 出現太多次。

有誤: 符號不能出現在 符號之後。

有誤:分數的值必須小於1。