如何处理R中的BigINT

时间:2018-04-04 04:41:34

标签: r

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

任何人都可以帮我解决这个问题。我想保留相同的原始值。我也不想安装任何外部包。

1 个答案:

答案 0 :(得分:3)

我们可以使用as.integer64

中的bit64
library(bit64)
as.integer64(as.character(a))
#integer64
#[1] 9223372036854775807