在mongodb中对美元使用$inc时防止舍入错误



我正在从节点调用update来向用户的帐户添加资金。从0开始,这两个顺序更新:83.94,然后546.13得到630.0699999999999。

这与您在JS 中这样做的结果相同

83.94+566.13

这是mongo呼叫:

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

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

我真的每次读这篇文章都要"四舍五入"吗?

谢谢@ryan。这正是我所需要的。https://docs.mongodb.com/manual/tutorial/model-monetary-data/https://docs.mongodb.com/manual/core/shell-types/#shell-类型十进制

相关内容

最新更新