Excel-將阿拉伯數(shù)字轉換為羅馬數(shù)字
????????刷leetcode題目的時候,遇到了一個轉換羅馬數(shù)字的題目,程序寫出來,發(fā)現(xiàn)不知道計算的結果對不對。今天偶然間發(fā)現(xiàn)Excel可以將阿拉伯數(shù)字轉為羅馬數(shù)字,不得不佩服Excel功能強大。
????? ? 羅馬數(shù)字有I, V, X, L, C, D, M七個,依次表示數(shù)值:1, 5, 10, 50, 100, 500, 1000。羅馬數(shù)字表示數(shù)字有如下幾個規(guī)則,更詳細的規(guī)則見參考資料【1】:
? ? ? ? ?(1)相同的數(shù)字并列,表示相加。
????????(2)不同的數(shù)字并列,右邊的小于左邊的,表示相加。
????????(3)不同的數(shù)字并列,右邊的大于左邊的,表示相減。
????????(4)數(shù)字上加一橫線,表示一千倍。
????????通過規(guī)則排列組合,就可以把所有的數(shù)字表示出來了。
??????而在Excel中將數(shù)字轉換為羅馬數(shù)字很簡單,只需要用到函數(shù)ROMAN()。
????????在Excel中輸入阿拉伯數(shù)字,例如在D6輸入1,E6輸入=ROMAN(E6),回車,就可以將阿拉伯數(shù)字1轉換為羅馬數(shù)字I。

????????注意的是,我們從上圖可以看出當數(shù)字大于3999的時候,轉換羅馬數(shù)字失敗,顯示#VALUE!,這是因為Excel所能表示的羅馬數(shù)字最大是3999。查看ROMAN()函數(shù)的說明文檔,語法如下:

????????幫助文檔里特別說明,如果number為負數(shù)或者大于3999,則#VALUE!,表示錯誤值。

????????那如果想表示3999以上的數(shù)值怎么辦?可以自己根據(jù)規(guī)則手動計算,詳細的規(guī)則可以參考資料【1】;也可以找羅馬數(shù)字轉換器,參考資料【2】,但是表示的范圍是1—4999,比Excel大了1000。
參考資料:
【1】?羅馬數(shù)字:?http://www.fhdq.net/yy/78.html
【2】羅馬數(shù)字轉換器:https://www.luomashuzi.com/