羅馬數字轉換器
可在阿拉伯數字與羅馬數字之間互相轉換,也支援日期與分數換算。想知道轉換器是如何運作的,可以參考下方說明。
轉換器如何運作?
請在左側面板輸入數字。如果輸入的是阿拉伯數字,例如22,想轉換成羅馬數字,就點擊「轉換為羅馬數字」按鈕;如果輸入的是羅馬數字,例如 XIX,想轉換成阿拉伯數字,就點擊「轉換為阿拉伯數字」按鈕。
如果您還不太清楚轉換器怎麼使用,或想先看看例子,可以點擊下方按鈕,讓系統把三組範例中的其中一組填入左側面板。每組範例都同時包含阿拉伯數字和羅馬數字,所以您可以試著從兩個方向進行轉換,看看不同部分會如何對應。也建議您繼續往下閱讀,進一步了解羅馬數字的轉換原理。
羅馬數字是怎麼運作的?
基本羅馬數字
羅馬數字是由幾個大寫拉丁字母組成的,也就是 I、V、X、L、C、D 和 M。每一個字母都代表一個固定的數值,整理如下表。
| I | 1 |
| V | 5 |
| X | 10 |
| L | 50 |
| C | 100 |
| D | 500 |
| M | 1000 |
要寫出一個羅馬數字,其實就是把幾個代表不同數值的字母排在一起,再依照加法或減法的原理,組成想要表示的數目。我們先從簡單的例子來看。假如要表示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。下面的表格整理了一些常見的羅馬數字,讀者可以對照看看,也可以試著自己推算它們是怎麼組成的。
| I | 1 |
| II | 2 |
| III | 3 |
| IV | 4 |
| V | 5 |
| VI | 6 |
| VII | 7 |
| VIII | 8 |
| IX | 9 |
| X | 10 |
| XI | 11 |
| XII | 12 |
| XIII | 13 |
| XIV | 14 |
| XV | 15 |
| XVI | 16 |
| XVII | 17 |
| XVIII | 18 |
| XIX | 19 |
| XX | 20 |
| XXI | 21 |
| XXII | 22 |
| XXIII | 23 |
| XXIV | 24 |
| XXV | 25 |
| XXVI | 26 |
| XXVII | 27 |
| XXVIII | 28 |
| XXIX | 29 |
| XXX | 30 |
| XL | 40 |
| L | 50 |
| LX | 60 |
| LXX | 70 |
| LXXX | 80 |
| XC | 90 |
| C | 100 |
| CXXI | 121 |
| CXLIV | 144 |
| CLXIX | 169 |
| CXCVI | 196 |
| CCXXV | 225 |
| CCLVI | 256 |
| CDLXXVI | 476 |
| DCXXII | 622 |
| MCDXCII | 1492 |
| MDCCLXXXIX | 1789 |
| MCMXXXIX | 1939 |
| MCMXCI | 1991 |
| MMXIX | 2019 |
有時候,我們也會看到四個相同的字母連在一起使用。比如說,有些老式鐘面上會把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 |
只有 uncia 和 siliqua 這兩個符號可以重複使用,而且最多都只能重複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。本轉換器也採用了這種表示方式。
阿拉伯數字
如果要讓轉換器正確辨識阿拉伯數字,輸入時要注意幾個地方:
- 千位數不能用逗號分隔。數字必須連在一起,中間不要加任何符號。例如三千要寫成3000,而不是3,000。
- 轉換器會依據您系統中的設定判斷小數分隔符號,通常會是點號。不過,如果需要,也可以在選項中改成其他符號。要注意的是,選項裡的小數分隔符號,必須和您輸入的數字一致,轉換器才能正確讀取。
- 如果輸入的是小於1的小數,前面也要記得加上0。也就是說,0.25會被轉換器理解為一個小數(四分之一),但.25則會被理解成一個點號,後面接著整數25。
- 另外,也可以輸入有理分數。寫法是先輸入整數,再用空格和分數隔開;分數的部分則依序寫上分子、「/」符號和分母。例如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。又或者,在「鍵盤易輸入」設定下,某些點號也可能被轉換成分數符號。類似的情況,都可能造成不預期的結果。
選項
轉換器提供了一些設定,可以依照需要調整轉換方式。大部分的設定,在前面的說明中已經介紹過。如果想查看可用的選項,可以在頁面上方的「輸入」與「輸出」欄位下方,點擊「顯示選項」按鈕。再點擊一次,就可以把選項收起來。
其中,「羅馬數字分數」這一組設定,是用來決定轉換器在讀取和顯示羅馬分數時,要使用哪一種字元。關於羅馬分數的運作方式,以及有哪些符號可以使用,可以參考前面的「羅馬分數」段落。
「阿拉伯數字分數」這一組設定,可以調整三件事:第一,是否讓轉換器讀取和寫出用有理式寫的分數;第二,是否允許使用小數分隔符號來表示小數;第三,小數分隔符號要使用哪一個字元。關於這些設定的詳細說明,可以參考前面的「阿拉伯數字」段落。
意見回饋
如果您發現錯誤或想到可以讓轉換器變得更好的方法,歡迎寫信告訴我們。點擊「提供意見回饋」按鈕,就可以開啟意見回饋表單。這個按鈕位於頁面開頭,也就是「輸入」與「輸出」欄位的下方。再點擊一次,則可以把表單收起來。
意見回饋表單可以讓您附上目前轉換器中的輸入內容和輸出結果。如果您在輸出結果中發現錯誤,建議使用這個選項,這樣作者才能更清楚知道問題出在哪裡。您可以在「您的意見回饋」欄位中描述您覺得哪裡不對,再勾選「附上轉換器資料」,最後點擊「送出」按鈕。謝謝您的協助!凱撒大帝看了也會感到欣慰。