MongoDBにコレクションProductsがあります。Express3とMongooseを実行しているアプリ。オークションを行っていますが、商品の価格を0.01上げようとすると、6回目までは正常に動作し、その後、1000.07ではなく「1000.0699999999999」になります。なぜですか?さらに数回クリックすると、1000.1699999999998などになります。
ここに私の更新機能:
app.post('/auctions/add', function(req, res){
//Get username
var user = req.session.username ;
//Product ID from form
var productID = req.body.product_id ;
//Find and update product
//Products.update( { id: productID }, { price: this.price + 0.01 } ).exec() ;
Products.update( { id: productID }, {$inc: { price: .01 }, user_bidding: { username: user, timeBid: new Date() }}, function(err, numberAffected, raw) {
console.log(err);
console.log(numberAffected);
console.log(raw);
} ) ;
//redirect to home
res.redirect( '/' );
}) ;