【发布时间】:2019-01-06 23:11:59
【问题描述】:
我目前正在使用 MongoDB 对数据库进行建模,在该数据库中,用户可以在账户之间转移资金并购买产品,其价值从他们当前的余额中扣除。对于产品价值和用户余额,我使用小数点后两位的精度。
问题是,当我使用 $inc 运算符添加或减去带小数位的值时,在我的用户文档中会出现一些精度错误,如下所示:
{
"balance": 31513.210000000003,
}
我正在使用 node 和 mongoose 来操作我的数据库,并且我知道该语言的浮点不准确性,但我想知道是否有任何方法可以在我的 mongodb 数据库中克服这个问题并强制它总是使用两位小数,所以当我查询余额为正的用户时,不会检测到像 0.00000000003 这样的值,因为它应该是 0。
在 mongodb 中有什么方法可以控制吗?
【问题讨论】:
标签: javascript node.js mongodb mongoose floating-point