我們有貓鼬架構下面的代碼試圖將資金轉換成整數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