sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:¿qué pasa con el tipo de valor decimal?

Si desea una representación exacta con fines financieros, los valores de punto flotante o dobles no son adecuados, ya que las partes fraccionarias están sujetas a errores de redondeo. Ciertos valores decimales no se pueden representar usando puntos flotantes binarios y se deben aproximar.

Para una introducción menos técnica, consulte El problema de redondear números de punto flotante; si quieres ser un geek, lee Lo que todo informático debe saber sobre la aritmética de punto flotante.

La recomendación de usar un tipo entero (almacenar el valor en centavos) es para evitar posibles errores de redondeo. Este enfoque se describe como "Uso de un factor de escala" en la documentación de MongoDB para modelar datos monetarios y es una solución general para MongoDB 3.2 y versiones anteriores.

MongoDB 3.4 incluye un nuevo tipo Decimal BSON que proporciona precisión exacta para manipular campos de datos monetarios.