Stockage des prix dans SQLite, quel type de données utiliser?


15

J'utilise SQLite et j'ai besoin de stocker les prix. SQLite REALtype de données indique qu'il utilise ce floating-pointqui est inacceptable de stockage pour les prix. Existe-t-il un type de données en plus de TEXT que je peux utiliser pour stocker les prix numériquement afin qu'ils soient triés correctement?

Réponses:


25

Utilisez un entier et enregistrez les prix comme l'unité commune la plus basse. Donc, pour des dollars et des cents, vous le stockeriez en cents. EG: 1,00 $ serait stocké comme 100.

D'après mon expérience, c'est une pratique standard.


3
C'est un travail supplémentaire, mais c'est la voie à suivre - vous avez également besoin d'un champ de type de devise pour stocker avec la valeur afin que vous sachiez comment effectuer une reconversion. Vous devez également faire attention - la plupart des devises utilisent deux décimales, mais certaines en utilisent trois. Consultez ISO 4127 pour la liste complète.
lonstar

CLF Chilean Unidad de Fomento utilise 4 décimales. Bitcoin encore plus :-)
Gianluca Ghettini

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.