为什么 nchar return R 中大数值变量的错误值?
Why does nchar return the wrong values for large numeric variables in R?
根据我的理解,输入应转换为字符而不指定
"x = ...character vector, or a vector to be coerced to a character vector"
nchar(2015122514204000000)
# 18
nchar("2015122514204000000")
# 19
# Replacing the end zeroes with 111111
nchar(2015122514204111111)
# 19
它正在执行以下操作:
as.character(2015122514204000000)
"2.015122514204e+18"
和
nchar("2.015122514204e+18")
是 18。
尝试例如options(scipen=999)
防止科学记数,而nchar(2015122514204000000)
会return19
。希望这对您有所帮助!
我相信这就是正在发生的事情:
> as.character(2015122514204000000)
[1] "2.015122514204e+18"
> nchar(as.character(2015122514204000000))
[1] 18
根据我的理解,输入应转换为字符而不指定
"x = ...character vector, or a vector to be coerced to a character vector"
nchar(2015122514204000000)
# 18
nchar("2015122514204000000")
# 19
# Replacing the end zeroes with 111111
nchar(2015122514204111111)
# 19
它正在执行以下操作:
as.character(2015122514204000000)
"2.015122514204e+18"
和
nchar("2.015122514204e+18")
是 18。
尝试例如options(scipen=999)
防止科学记数,而nchar(2015122514204000000)
会return19
。希望这对您有所帮助!
我相信这就是正在发生的事情:
> as.character(2015122514204000000)
[1] "2.015122514204e+18"
> nchar(as.character(2015122514204000000))
[1] 18