首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsonSlurper浮点精度问题

JsonSlurper浮点精度问题
EN

Stack Overflow用户
提问于 2016-04-06 18:31:54
回答 1查看 186关注 0票数 0

我有一个包含一些数据和配置参数的文件,在将其用作POST调用的主体数据之前,需要对其进行更改。

所以我使用slurper来获取配置值

代码语言:javascript
复制
JsonSlurper slurper = new JsonSlurper()
def inputFile = new File("file.json")
def parsedInput = slurper.parse(inputFile)

然后,我将更改所需的配置参数

代码语言:javascript
复制
parsedInput.config.id = 1

然后将修改后的输入文件写入临时文件

代码语言:javascript
复制
def tempFile = new File("temp.json")
tempFile.write(JsonOutput.toJson(parsedInput))

当我意识到输出文件比输入文件大三倍时,我非常惊讶。我已经检查了内容,它看起来像是slurper改变了浮动精度。

修改前

代码语言:javascript
复制
0.145,
0.144,
0.145,

修改后

代码语言:javascript
复制
0.1459999999999999908961711980737163685262203216552734375, 
0.1449999999999999900079927783735911361873149871826171875, 
0.1459999999999999908961711980737163685262203216552734375

有什么办法解决这个问题吗?

编辑1:添加了一些输入数据

http://wklej.org/hash/4de6639a5bf/txt/

EN

回答 1

Stack Overflow用户

发布于 2016-04-06 18:55:47

检查你的groovy版本,应该在2011年底之前修复(https://issues.apache.org/jira/browse/GROOVY-5129)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36448465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档