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?

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.


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.