Хранение валюты в базе данных Android SQlite - PullRequest
8 голосов
/ 08 февраля 2012

Я пытаюсь хранить значения валют в базе данных sqlite в Android.Я не думаю, что здесь будет использоваться int.Я слышал, что Bigdecimal можно использовать.Если кто-нибудь может сказать мне, как его следует использовать для отправки значений в базу данных sqlite.

Ответы [ 2 ]

11 голосов
/ 08 февраля 2012

Хранить BigDecimal в виде строки.

Вы можете использовать метод toPlainString ().

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

Затем, когда вы извлекаете его из базы данных, вы можете создать новый BigDecimal.

BigDecimal c = new BigDecimal(String s)

Поверьтеили нет SQLite 3.0 сохраняет все типы данных в виде строк, даже если вы говорите, что это должно быть целое число.Взгляните на эту веб-страницу с официального сайта SQLite и прокрутите вниз до раздела «Manifest Typing and BLOB Support».В нем рассказывается о том, как он позволяет хранить строки в столбцах других типов.

0 голосов
/ 30 сентября 2013

Просто используйте Int здесь.Поскольку SQlite использует 8 байтов для int, максимальные значения составляют 2 ^ 64, что составляет 1,8446744e + 19 - 1, более или менее 10 ^ 18, достаточно большой для валюты.

Также мы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...