MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB - Qu'en est-il du type de valeur décimal ?

Si vous voulez une représentation exacte à des fins financières, les valeurs doubles ou à virgule flottante ne conviennent pas car les parties fractionnaires sont sujettes à une erreur d'arrondi. Certaines valeurs décimales ne peuvent pas être représentées à l'aide de virgules flottantes binaires et doivent être approchées.

Pour une introduction moins technique, voir Le problème avec l'arrondi des nombres à virgule flottante; si vous voulez vous débrouiller, alors lisez Ce que tout informaticien devrait savoir sur l'arithmétique à virgule flottante.

La recommandation d'utiliser un type entier (stockant la valeur en cents) est d'éviter les erreurs d'arrondi potentielles. Cette approche est décrite comme "Utilisation d'un facteur d'échelle" dans la documentation MongoDB pour modéliser des données monétaires et constitue une solution de contournement générale pour MongoDB 3.2 et versions antérieures.

MongoDB 3.4 inclut un nouveau type Decimal BSON qui fournit une précision exacte pour la manipulation des champs de données monétaires.