欢迎光临散文网 会员登陆 & 注册

Excel-将阿拉伯数字转换为罗马数字

2020-08-31 00:09 作者:阿提艾斯  | 我要投稿

        刷leetcode题目的时候,遇到了一个转换罗马数字的题目,程序写出来,发现不知道计算的结果对不对。今天偶然间发现Excel可以将阿拉伯数字转为罗马数字,不得不佩服Excel功能强大。

        罗马数字有I, V, X, L, C, D, M七个,依次表示数值:1, 5, 10, 50, 100, 500, 1000。罗马数字表示数字有如下几个规则,更详细的规则见参考资料【1】:

         (1)相同的数字并列,表示相加。

        (2)不同的数字并列,右边的小于左边的,表示相加。

        (3)不同的数字并列,右边的大于左边的,表示相减。

        (4)数字上加一横线,表示一千倍。

        通过规则排列组合,就可以把所有的数字表示出来了。

      而在Excel中将数字转换为罗马数字很简单,只需要用到函数ROMAN()

        在Excel中输入阿拉伯数字,例如在D6输入1,E6输入=ROMAN(E6),回车,就可以将阿拉伯数字1转换为罗马数字I。

阿拉伯数字转罗马数字

        注意的是,我们从上图可以看出当数字大于3999的时候,转换罗马数字失败,显示#VALUE!,这是因为Excel所能表示的罗马数字最大是3999。查看ROMAN()函数的说明文档,语法如下:

ROMAN语法

        帮助文档里特别说明,如果number为负数或者大于3999,则#VALUE!,表示错误值

备注

        那如果想表示3999以上的数值怎么办?可以自己根据规则手动计算,详细的规则可以参考资料【1】;也可以找罗马数字转换器,参考资料【2】,但是表示的范围是1—4999,比Excel大了1000。


参考资料

【1】 罗马数字: http://www.fhdq.net/yy/78.html

【2】罗马数字转换器:https://www.luomashuzi.com/

Excel-将阿拉伯数字转换为罗马数字的评论 (共 条)

分享到微博请遵守国家法律