将整数转换为单词
Posted
技术标签:
【中文标题】将整数转换为单词【英文标题】:Convert integer to words 【发布时间】:2017-10-09 17:38:36 【问题描述】:出于样式数据可视化的目的,我希望能够使用单词显示整数(例如
“两千一十七”
) 而不是数字(例如2017
)。
作为我正在寻找的示例,这是一个适用于小的标量整数的快速函数:
int_to_words <- function(x)
index <- as.integer(x) + 1
words <- c('zero', 'one', 'two', 'three', 'four',
'five', 'six', 'seven', 'eight', 'nine',
'ten')
words[index]
int_to_words(5)
【问题讨论】:
我删掉了你的问题的一句话,因为它违反了 SO 规则要求图书馆推荐。不管怎样,你见过这个吗(往另一个方向走,但很容易反转)***.com/questions/18332463/… ? 嗯,我已经给了你上面链接的解决方案和下面我的答案中的另一个,但是模糊或具体它只是违反规则要求图书馆推荐。没什么大不了的,它很容易被编辑掉,人们仍然可以用图书馆来回答。规则就是规则,你知道吗? 【参考方案1】:选项 1:
使用“english”包中的as.english
函数:
library(english)
as.english(2017)
选项 2:
使用“qdap”包中的replace_number
函数。
library(qdap)
replace_number(2017)
选项 3:
使用“xfun”包中的numbers_to_words
函数。
library(xfun)
numbers_to_words(2017)
【讨论】:
【参考方案2】:除了我在 cmets 中链接的函数之外,这里还有一个来自 GitHub gist 的解决方案:
source("https://gist.githubusercontent.com/hack-r/22104543e2151519c41a8f0ce042b31c/raw/01731f3176b4ee471785639533d38eda4790ab77/numbers2words.r")
numbers2words(0)
[1]“零”
numbers2words(5)
[1]“五”
numbers2words(50000)
[1]“五万”
numbers2words(50000000000000)
[1]“五十万亿”
【讨论】:
以上是关于将整数转换为单词的主要内容,如果未能解决你的问题,请参考以下文章