/ / Przechowywanie waluty w bazie danych Androida SQlite - java, android, eclipse, sqlite3

Przechowywanie waluty w bazie danych Androida SQlite - java, android, eclipse, sqlite3

Próbuję przechowywać wartości walut w bazie danych sqlite w systemie Android. Nie sądzę, żeby tak było int zostaną użyte tutaj. Słyszałem, że Bigdecimal może być użyty. Jeśli ktoś może mi powiedzieć, w jaki sposób należy go użyć do wysyłania wartości do bazy danych sqlite.

Odpowiedzi:

11 dla odpowiedzi nr 1

Przechowuj BigDecimal jako ciąg.

Możesz użyć metody toPlainString ().

BigDecimal b = new BigDecimal();
String s = b.toPlainString();

Następnie, kiedy wyciągniesz go z bazy danych, możesz utworzyć nowy BigDecimal.

BigDecimal c = new BigDecimal(String s)

Wierzcie lub nie, SQLite 3.0 przechowuje wszystkie typy danych jako ciągi, nawet jeśli powiesz, że powinna to być liczba całkowita. Spojrzeć na ta strona z oficjalnej strony SQLite i przewiń w dół do sekcji "Manifest Typing and BLOB Support". Mówi o tym, w jaki sposób pozwoli ci przechowywać łańcuchy w kolumnach innych typów.


0 dla odpowiedzi nr 2

Po prostu użyj Int tutaj. Ponieważ SQlite używa 8 bajtów dla int, maksymalne wartości to 2 ^ 64, czyli 1,8446744e + 19 - 1, mniej więcej 10 ^ 18, wystarczająco duże dla waluty.

Również my