gpt4 book ai didi

javascript - MongoDB浮点值精度?

转载 作者:行者123 更新时间:2023-12-03 04:27:58 25 4
gpt4 key购买 nike

据我所知,JavaScript 使用 IEEE 754 浮点来处理实数。使用时出现问题,这是一个很常见的问题:

0.1 + 0.2 = 0.30000000000000004

大多数时候,使用像“big.js”这样的模块,但问题是在使用 MongoDB 时。

查看此文档:

{ "_id" : ObjectId("58ff8f721bbfbcd140e472b3"), "value" : 0.1 }

当我像这样运行 $inc 时:

db.dec.update({ _id: ObjectId('58ff8f721bbfbcd140e472b3') }, { $inc: { value: 0.2 }});

结果一点都不好:

{ "_id" : ObjectId("58ff8f721bbfbcd140e472b3"), "value" : 0.30000000000000004 }

我知道为什么会发生这种情况,但是有办法避免这个问题吗?

最佳答案

如果您确切知道所需的小数位数,可以执行 Number((.1+.2).toFixed(1))。或者你可以使用 mongodb 的 orm,如 mongoose ,并为数据库文档定义模型,并使用模型中的某些代码定义所需的精度。

关于javascript - MongoDB浮点值精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618036/

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