Almacenando precios en SQLite, ¿qué tipo de datos usar?

15

Estoy usando SQLite y necesito almacenar precios. De SQLite REALde tipo de datos dice que utiliza floating-pointla cual es inaceptable almacenamiento para los precios. ¿Hay algún tipo de datos además de TEXTO que pueda usar para almacenar los precios numéricamente para que se ordenen correctamente?

unixman83
fuente

Respuestas:

25

Use un número entero y almacene los precios como la unidad común más baja. Entonces, por dólares y centavos, lo almacenarías en centavos. EG: $ 1.00 se almacenaría como 100.

En mi experiencia es una práctica estándar.

Philᵀᴹ
fuente
3
Es un trabajo extra, pero este es el camino a seguir: también necesita un campo de tipo de moneda para almacenar con el valor para que sepa cómo convertir de nuevo. También debe prestar atención: la mayoría de las monedas usan 2 decimales, pero algunas usan tres. Consulte ISO 4127 para obtener la lista completa.
lonstar 01 de
La Unidad de Fomento chilena de CLF utiliza 4 decimales. Bitcoin aún más :-)
Gianluca Ghettini
4

Ciertamente, use entero

Tendrá que decidir cuántos decimales está asumiendo y ser coherente a nivel de aplicación.

Jack dice que intente topanswers.xyz
fuente