首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字后面的数字是6,但我想要所有的数字。

数字后面的数字是6,但我想要所有的数字。
EN

Stack Overflow用户
提问于 2019-10-18 16:18:23
回答 1查看 284关注 0票数 0

我试着用放心的方法来获取浮点数,但是它在十进制之后只取6位数,但是我有超过10位。

我尝试使用下面提供的代码来获取它,这表明getFLoat是从Rest保证库中获取的方法。

代码语言:javascript
复制
JsonPath js= ReusableMethods.rawToJson(res);
float latitude = js.getFloat("map.lat");
float longitude = js.getFloat("map.long");

这是返回浮子的值,如纬度= -80.375786和经度= 157.40535,其中响应为"lat":-80.375787552675078和"long":157.40535607561472。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-18 16:31:09

在Java中,浮点数只能在小数点之后存储高达6-7位的值.如果您需要更多,您应该能够使用双,这允许15-16位数。

尽管如此,看起来您的代码可能需要进一步的更改才能根据需要工作。通过更改一些内容,我能够让代码片段在本地运行:

Double.

  • Using

  • 将JsonPath配置设置为返回类型为"map.lat“和"map.long”的JsonPath getDouble()方法的编号。

JsonPathConfig(JsonPathConfig.NumberReturnType.DOUBLE);JsonPath js = ReusableMethods.rawToJson(res);JsonPath.config =新的JsonPath北纬= js.getDouble("map.lat");双经度= js.getDouble("map.long");

完成此操作后,我能够获得您提供的十进制值的14位精度。

如果需要更高的精度,可以将配置值设置为JsonPathConfig.NumberReturnType.BIG_DECIMAL,并调用js.get("map.lat")返回BigDecimal对象。这会给你最好的精度,但可能超出你的需要范围。

希望这对你有用!

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

https://stackoverflow.com/questions/58454701

复制
相关文章

相似问题

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