Предотвратить ошибки округления при использовании $ inc в mongodb для валюты США? - PullRequest
0 голосов
/ 01 ноября 2018

Я звоню обновить с узла, чтобы добавить деньги на счет пользователя. Начиная с 0, эти два последовательных обновления: 83,94, а затем 546,13 - 630,0699999999999.

Это такой же результат, как если бы вы делали это в JS

83.94+566.13

Это вызов Монго:

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

Есть ли способ предотвратить это и получить разумное поведение? (кроме конвертации в копейки вместо долларов).

Действительно ли мне нужно "округлять до 2" каждый раз, когда я читаю это поле?

1 Ответ

0 голосов
/ 01 ноября 2018

Спасибо @ Райан. Как раз то, что мне было нужно. https://docs.mongodb.com/manual/tutorial/model-monetary-data/ https://docs.mongodb.com/manual/core/shell-types/#shell-type-decimal

...