Se si desidera una rappresentazione esatta per scopi finanziari, i valori doppi oa virgola mobile non sono adatti poiché le parti frazionarie sono soggette a errori di arrotondamento. Alcuni valori decimali non possono essere rappresentati utilizzando virgola mobile binaria e devono essere approssimati.
Per un'introduzione meno tecnica, vedere Il problema con l'arrotondamento dei numeri in virgola mobile; se vuoi divertirti, leggi Cosa dovrebbe sapere ogni scienziato informatico sull'aritmetica in virgola mobile.
La raccomandazione di utilizzare un tipo intero (memorizzazione del valore in centesimi) è quella di evitare potenziali errori di arrotondamento. Questo approccio è descritto come "Utilizzo di un fattore di scala" nella documentazione di MongoDB per la modellazione dei dati monetari ed è una soluzione alternativa generale per MongoDB 3.2 e precedenti.
MongoDB 3.4 include un nuovo tipo Decimal BSON che fornisce la precisione esatta per la manipolazione dei campi di dati monetari.