在以美元为单位的mongodb中使用$ inc时是否防止舍入错误?

时间:2018-10-31 21:26:47

标签: mongodb floating-accuracy rounding-error

我正在调用来自节点的更新,以向用户帐户中添加资金。从0开始,这两个连续更新: 83.94,然后是546.13,则结果为630.0699999999999。

这与您在JS中执行的结果相同

83.94+566.13

这是mongo电话:

xxx.update({_id: xId},
    {
        $inc: {money: dollars}
    });

有什么方法可以防止这种情况并获得合理的行为? (除了转换为便士而不是美元)。

每次阅读此字段时,我真的必须“舍入到2”吗?