在SQlite android数据库中存储货币

Muh*_*mar 8 java eclipse sqlite android

我试图在android中的sqlite数据库中存储货币值.我不这么认为int会在这里使用.我听说Bigdecimal可以用.如果有人能告诉我它应该用于向sqlite数据库发送值的方式.

zzz*_*zzz 11

将BigDecimal存储为字符串.

您可以使用toPlainString()方法.

BigDecimal b = new BigDecimal();
String s = b.toPlainString();
Run Code Online (Sandbox Code Playgroud)

然后,当您从数据库中提取它时,您可以创建一个新的BigDecimal.

BigDecimal c = new BigDecimal(String s)
Run Code Online (Sandbox Code Playgroud)

信不信由你,SQLite 3.0将所有数据类型都存储为字符串,即使你说它应该是一个整数.从官方SQLite网站查看此网页,然后向下滚动到"Manifest Typing and BLOB Support"部分.它讨论了如何让你在其他类型的列中存储字符串.