我有一个从我的 Java
代码生成的 CSV 文件,现在想在 R
中使用它。问题是,我的一项属性存在精度问题。
Timestamp 属性在 Java 中保存为 long
。将数据导入到 R 时这样
1481653606064
1481653606064
1481653606064
1481653606065
1481653606068
1481653606073
1481653606081
1481653606083
转换为:
1,48165E+12
1,48165E+12
1,48165E+12
1,48165E+12
1,48165E+12
1,48165E+12
1,48165E+12
1,48165E+12
这根本没有用。
我刚刚开始使用 R,所以我不知道如何解决这个可能很简单的问题。我希望你能帮助我。
如果需要任何说明,请发表评论。
最佳答案
不会发生精度损失,您只需以完全精度打印即可。最大 2^53 的整数值完全以数字数据类型存储,并且 2^53 的长度为 15 位(“9,007,199,254,740,992”),而您的数字只有 12 位长度。
> x = 1481653606083
> x
[1] 1.481654e+12
> sprintf("%.f",x)
[1] "1481653606083"
关于java - 将数据导入 R 时如何避免精度损失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233450/