在R中,as.roman
最基本的设置中有一个强大的功能:
as.roman(79)
# [1] LXXIX
是否有将罗马数字转换为数字的逆函数?
(我知道我可以自己编写它,但是我更喜欢使用已经准备好的或最好是标准的函数,不幸的是找不到一个。标准库或包函数是首选的解决方案)
as.roman()
返回roman类的对象,因此R如此识别它。您可以使用将其直接转换回阿拉伯数字as.numeric()
。如果您有一个满足条件的字符串,使得它可能是有效的罗马数字,则可以使用将其强制为类罗马对象as.roman()
,然后通过构成强制功能将其强制为阿拉伯数字。考虑:
> as.roman(79)
[1] LXXIX
> x <- as.roman(79)
> x
[1] LXXIX
> str(x)
Class 'roman' int 79
> as.roman("LXXIX")
[1] LXXIX
> as.numeric(as.roman("LXXIX"))
[1] 79
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句