Estoy tratando de almacenar valores de moneda en la base de datos sqlite en android. No creo que se use int
aquí. He escuchado que se puede usar Bigdecimal
. Si alguien puede decirme cómo debe usarse para enviar valores a la base de datos sqlite.Almacenamiento de moneda en la base de datos de Android SQlite
7
A
Respuesta
11
Almacena BigDecimal como una cadena.
Puede utilizar el método toPlainString().
BigDecimal b = new BigDecimal();
String s = b.toPlainString();
Luego, cuando lo extrae de la base de datos, puede crear un nuevo BigDecimal.
BigDecimal c = new BigDecimal(String s)
creas o no SQLite 3.0 almacena todos los tipos de datos como cadenas incluso si usted dice que debe ser un entero. Eche un vistazo al this web page from the official SQLite website y desplácese hacia abajo a la sección "Manipulación de manuscritos y soporte de BLOB". Habla de cómo le permitirá almacenar cadenas en columnas de otros tipos.
0
Solo use Int aquí. Como SQlite usa 8 bytes para int, los valores máximos son 2^64, que es 1.8446744e + 19 - 1, más o menos 10^18, lo suficientemente grande para la moneda.
También nosotros
Cuestiones relacionadas
- 1. Capacidad máxima de almacenamiento de la base de datos SQLite
- 2. Crear base de datos SQLite en android
- 3. Almacenamiento de valores de moneda en la base de datos MySQL
- 4. Android - ¿Existe una base de datos SQLite?
- 5. Guardando ArrayList en la base de datos SQLite en Android
- 6. Crear tablas en la base de datos sqlite en android
- 7. Insertar matriz en la base de datos SQLite en android
- 8. Android ExpandableListView y base de datos SQLite
- 9. Almacenamiento de valores de moneda en SQLite3
- 10. ¿Por qué usar la base de datos sqlite en Android?
- 11. Android explore la base de datos SQLite en el teléfono
- 12. Android - Acceso a la base de datos en línea SQlite
- 13. cómo reducir la base de datos sqlite?
- 14. Flushing y base de datos SQLite en android
- 15. Populating Spinner de la base de datos SQLite Android
- 16. Android cambiar el nombre de la base de datos SQLite
- 17. Problema de almacenamiento de datos de Android
- 18. Android: cierre de la base de datos SQLite
- 19. ORM en Android SQLite y esquema de base de datos
- 20. base de datos SQLite Android local, bloqueo, y la versión
- 21. Android: SQLite usando la base de datos incorrecta
- 22. ¿Cómo extraigo la base de datos sqlite del dispositivo Android?
- 23. Base de datos SQLite en tarjeta SD
- 24. Seguridad de la base de datos Sqlite
- 25. H2 base de datos SQLite en Android vs
- 26. Rieles: almacenamiento de datos cifrados en la base de datos
- 27. Cifrado de datos para almacenamiento en la base de datos
- 28. base de datos de Android SQLite se corrompe
- 29. ¿Cómo almacenar los datos de edittext en la base de datos de android sqlite?
- 30. Cómo recuperar datos de la base de datos sqlite en android y mostrarlos en TextView
No lo creo: SQLite 3.0 almacena enteros como enteros. Era la versión anterior 2.8 que almacenaba todo como cadenas. – Jeff
Eso está mal. Vaya al sitio (acabo de corregir el enlace) y busque: la diferencia es que SQLite 3.0 aún almacenará los datos, incluso si no es posible realizar una conversión de formato. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Debe incluir también la oración anterior de esa página: "Cuando los datos se insertan en una columna, esa columna intentará convertir el formato de datos en el tipo declarado de la columna". Cuando declara una columna como Integer y almacena la cadena '12345' en ella, SQLite convertirá esa cadena en un entero y la almacenará como un entero. – Jeff