我有一个BigInt数字。如果我尝试将其存储在R中
R> a <- 9223372036854775807
R> a
[1] 9.223372e+18
正如您所注意到的,它正在丢失最后几位数字的信息。我尝试了多种其他方法来解决这个问题,但没有成功,例如增加选项(digits = 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
有人能帮我解决这个问题吗?我想保留相同的原始值,也不想安装任何外部包。
gmp
包或bit64
,即library(gmp);as.bigz(a)
。 - akrunoptions(scipen = 99)
,但我认为它仍会失去精度。 - Ronak Shah