gpt4 book ai didi

java - 从 Jackson 读取时双丢失的精度

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:09 26 4
gpt4 key购买 nike

这应该是一个简单的问题,但我在互联网上找不到任何东西。这是 JSON 字符串

  {"ratio":2.714,"daily":161.0,"userId":811032853,"topic":"#GOP2012","gender":"Unknow"}

然后当我执行 mapper.readValue(*theString*,*theClass.class*) 时,小数点后的所有数字都将丢失。对于上面的例子,我刚得到 2.0 的比率。

我用的jackson版本是1.9.9,应该是最新版本了。

这是否也发生在其他人身上?感谢大家 :)

theClass 只是一个包含所有这些变量的类。比率的类型是double。

最佳答案

我怀疑类定义有些奇怪。 Jackson 不会截断 double 值,除了通常使用二进制浮点符号的注意事项(即如果你想避免任何舍入错误,你应该使用 BigDecimal 等),这不足以导致这样的问题.

所以查看 theClass 的定义会很有用。如果截断确实按照解释的方式发生,那肯定是一个错误。

关于java - 从 Jackson 读取时双丢失的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12344614/

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