在R中,as.roman
在基本设置中有一个很棒的功能:
as.roman(79)
# [1] LXXIX
Run Code Online (Sandbox Code Playgroud)
是否有将罗马数字转换为数字的反函数?
(我知道我可以自己写,但我更喜欢使用已经准备好或最好是标准的功能,不幸的是找不到一个.标准库或包功能是首选解决方案)
最近,我读到古巴比伦文明使用以 60 为基数而不是 10 为基数的数字系统。即使使用以 60 为基数的数字系统,他们仍然能够近似计算 2 \xe2\x80\x94 的平方根,并且几千年前也是如此!
\n\n我对此很好奇,想看看如何将十进制(以 10 为基数)中的数字转换为六十进制(以 60 为基数)。使用 R 编程语言,我找到了此链接,其中提供了有关将数字从某个基数转换为不同基数的答案。
\n然而,这里似乎基数只能在 2 到 36 之间(我想要基数 60):
\nbase <- function(b, base = 10)\n{\n base <- as.integer(base)\n if(base > 36 | base < 2) stop("\'base\' must be between 2 and 36.")\n \n structure(lapply(b, function(x) \n {\n n <- ceiling(log(x, base))\n vec <- numeric()\n val <- x\n \n while(n >= 0)\n {\n rem <- val %/% base^n\n val …
Run Code Online (Sandbox Code Playgroud)