Зберігання цін у SQLite, який тип даних використовувати?


15

Я використовую SQLite і мені потрібно зберігати ціни. REALТип даних SQLite говорить, що він використовує, floating-pointщо є неприйнятним для зберігання цін. Чи існує тип даних, окрім TEXT, який я можу використовувати для зберігання цін у цифровій формі, щоб вони правильно сортувались?

Відповіді:


25

Використовуйте ціле число і зберігайте ціни як найнижчу загальну одиницю. Отже, за долари та центи ви зберігаєте їх у центнах. EG: $ 1,00 зберігатиметься як 100.

На мій досвід, це стандартна практика.


3
Це додаткова робота, але це шлях - вам також потрібно поле типу валюти для зберігання зі значенням, щоб ви знали, як конвертувати назад. На це теж потрібно звернути увагу - більшість валют використовують 2 знаки після коми, а деякі використовують три. Повний список перегляньте ISO 4127.
lonstar

CLF Чилійський Унідад де Фоменто використовує 4 десяткових знаки. Біткойн навіть більше :-)
Gianluca Ghettini

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.