如何将20位数字转换为数字

时间:2015-02-26 11:53:36

标签: r integer numeric

我有四个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

1 个答案:

答案 0 :(得分:3)

您可以使用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

...但这可能会严重限制您随后可以使用这些值进行的操作。关于为什么你需要这些作为数字/你计划用它们做什么的问题的更多背景可能会带来更多有用的答案......