我们有猫鼬架构下面的代码试图将资金转换成整数MongoDB中保存:节省金钱作为整数
amount: { type: Number, get: getAmount, set: setAmount, required: true}
function setAmount(num) {
return num * 100;
}
function getAmount(num) {
return (num/100).toFixed(2);
}
但是节省64.49
我们还是结束了这个MongoDB中的文件:
"amount": 6448.999999999999
我们如何解决这个问题?
相同数量的我不一定确定这可能是你问题的原因。你在哪里检索数字并将它们写入你的数据库?因为'(num/100).toFixed(2)'应该总是返回一个数字,比如'6449.00' – Adjit
使用npm库[mongoose-currency](https://www.npmjs.com/package/mongoose-currency) – chridam
上面代码后64.99最后在MongoDB中是6448.999999999999。 – krl