我有一个BigInt号码。如果我尝试将它存储在R
中 R> a <- 9223372036854775807
R> a
[1] 9.223372e+18
你可以注意到它丢失的最后几位信息。我尝试了多种其他方法来解决这个问题,但没有运气,比如增加选项(数字= 22)或更改为数字,双精度,整数。
> as.integer(9223372036854775807)
[1] NA
Warning message:
NAs introduced by coercion to integer range
R> as.numeric(9223372036854775807)
[1] 9.223372e+18
R> as.double(9223372036854775807)
[1] 9.223372e+18
任何人都可以帮我解决这个问题。我想保留相同的原始值。我也不想安装任何外部包。
答案 0 :(得分:3)
我们可以使用as.integer64
bit64
library(bit64)
as.integer64(as.character(a))
#integer64
#[1] 9223372036854775807