MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB - E o tipo de valor decimal?


Se você deseja uma representação exata para fins financeiros, os valores duplos ou de ponto flutuante não são adequados, pois as partes fracionárias estão sujeitas a erros de arredondamento. Certos valores decimais não podem ser representados usando pontos flutuantes baseados em binários e devem ser aproximados.

Para uma introdução menos técnica, consulte O problema com o arredondamento de números de ponto flutuante; se você quiser descobrir, então leia O que todo cientista da computação deve saber sobre aritmética de ponto flutuante.

A recomendação de usar um tipo inteiro (armazenando o valor em centavos) é evitar possíveis erros de arredondamento. Essa abordagem é descrita como "Usando um fator de escala" na documentação do MongoDB para modelar dados monetários e é uma solução geral para o MongoDB 3.2 e versões anteriores.

O MongoDB 3.4 inclui um novo tipo Decimal BSON que fornece precisão exata para manipular campos de dados monetários.