sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - Hur är det med decimaltyp av värde?

Om du vill ha en exakt representation i ekonomiska syften är dubbla eller flyttal olämpliga eftersom bråkdelarna är föremål för avrundningsfel. Vissa decimalvärden kan inte representeras med binärt baserade flyttal och måste approximeras.

För ett mindre tekniskt intro, se Problemet med att avrunda flyttal; om du vill nörda, läs vad varje datavetare bör veta om flytande punktsräkning.

Rekommendationen att använda en heltalstyp (lagring av värdet i cent) är att undvika potentiella avrundningsfel. Detta tillvägagångssätt beskrivs som "Using a Scale Factor" i MongoDB-dokumentationen för modellering av monetära data och är en allmän lösning för MongoDB 3.2 och tidigare.

MongoDB 3.4 inkluderar en ny decimal BSON-typ som ger exakt precision för att manipulera monetära datafält.



  1. Redis lua-skriptet fungerar inte

  2. Node.js - vänta på flera asynkrona samtal

  3. Kunde inte hämta en resurs från poolen (SocketTimeoutException:)

  4. Laravel + predis + Redis-kluster - FLYTTAT / ingen anslutning till 127.0.0.1:6379