我有四个20位数字字符。
我想将字符转换为数字。
我只是使用as.numeric函数进行了转换。
但是四个字符都一样。
为什么?
我需要数字。有办法吗?
tmp <- c("11240690100051000001", "11240690100051000002", "11240690100051000003", "11240690100051000004")
tmp1 <- as.numeric(tmp)
tmp1[1] == tmp1[2]
[1] TRUE
tmp1[1] == tmp1[3]
[1] TRUE
tmp1[1] == tmp1[4]
[1] TRUE
最佳答案
您可以使用Rmpfr
包:
tmp <- c("11240690100051000001",
"11240690100051000002", "11240690100051000003",
"11240690100051000004")
library("Rmpfr")
as.bigz(tmp)
## Big Integer ('bigz') object of length 4:
## [1] 11240690100051000001 11240690100051000002 11240690100051000003
## [4] 11240690100051000004
...但这可能会严重限制您随后可以使用这些值进行的操作。关于为什么为什么需要这些数字/计划使用它们的问题的更多上下文可能会导致更有用的答案...
关于r - 如何将20位字符转换为数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28741775/