如何解决有没有办法将100万转换为1,000,000?
我已经在Google上进行了很多搜索,但根据查询找不到任何有用的功能。
我想要的是:
1.2K -> 1,200
304.0M -> 304,000,000
987.654B -> 987,654,000
有什么方法可以将带后缀的数字(K-千,M-百万,B-十亿)转换为原始双数?我只找到了可以向另一个方向转换的解决方案。
解决方法
某处可能已经存在某种东西,但是我懒得检查一下...
suffs <- c(K=1e3,M=1e6,B=1e9)
conv <- function(x) {
nc <- nchar(x)
suff <- substr(x,nc,nc) ## select last char
suffval <- suffs[suff] ## find corresponding numeric value
num <- as.numeric(substr(x,1,nc-1)) ## select all but last char
num*suffval
}
conv(c("1.2K","304.0M","987.654B"))
这不检查后缀是否不正确,无后缀的数字等。
,string_vec <- c("1.2K","987.654B","1.78")
conv_df <- data.frame(
symbol = c("","K","M","B"),value = c(1,1000,1000000,1000000000)
)
convert <- function(string_vec){
data.frame(
string_value = parse_number(string_vec),symbol = string_vec %>% str_sub(start = -1) %>% str_remove("[0-9]")
) %>%
left_join(conv_df,by = "symbol") %>%
mutate(true_value = string_value * value) %>%
pluck("true_value")
}
convert(string_vec)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。