Ste*_*veS 4 json r numeric biginteger
我在字符数组中的JSON中有以下数字:
[1544018118438041139,162.0,38.0,0.023529414,1.0,2131230815,1]
library(jsonlite)
fromJSON(
'[1544018118438041139,162.0,38.0,0.023529414,1.0,2131230815,1]'
)
Run Code Online (Sandbox Code Playgroud)
收益:
[1] 1544018118438041088.000000000000000000000
162.000000000000000000000 38.000000000000000000000 [4] 0.023529413999999998497
1.000000000000000000000 2131230815.000000000000000000000 [7] 1.000000000000000000000
我想让它返回正确的确切时间(大号:1544018118438041139)
请告知如何使其工作.
这似乎是R本身固有的精度限制.考虑:
x <- 1544018118438041139
as.character(x)
[1] "1544018118438041088"
Run Code Online (Sandbox Code Playgroud)
所以,我不确定jsonlite
软件包是否会导致此舍入错误.基于@Konrad注释,这是IEEE数据类型的精度限制.
如果您只想保留原始数字中的数字,则有一种解决方法.您可以将数据视为字符串:
'["1544018118438041139",162.0,38.0,0.023529414,1.0,2131230815,1]'
Run Code Online (Sandbox Code Playgroud)
然后,可能jsonlite
会将"数字"读作字符串,而不会出现任何精确问题.但是如果您决定在R中使用数字并使用它进行数学计算,那么您仍会遇到问题.
归档时间: |
|
查看次数: |
93 次 |
最近记录: |