gpt4 book ai didi

java - 获取数字为 6 之后的数字,但我想要所有数字

转载 作者:行者123 更新时间:2023-12-01 19:34:10 25 4
gpt4 key购买 nike

我正在尝试使用rest-assured方法获取 float ,但它只获取小数点后6位数字,但我有超过10位数字。

我尝试使用下面提供的代码来获取它,该代码显示 getFLoat 是来自 Rest Assured 库的方法

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

最佳答案

在Java中, float 最多只能存储小数点后6-7位的值。如果您需要更多,您应该能够使用 double,它允许 15-16 位数字。

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

  • 将 JsonPath 配置设置为返回 Double 类型的数字。
  • 对“map.lat”和“map.long”使用 JsonPath getDouble() 方法。

    JsonPath js = ReusableMethods.rawToJson(res);
    JsonPath.config = new JsonPathConfig(JsonPathConfig.NumberReturnType.DOUBLE);
    double latitude = js.getDouble("map.lat");
    double longitude = js.getDouble("map.long");

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

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

希望这对您有用!

关于java - 获取数字为 6 之后的数字,但我想要所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58454701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com