【发布时间】:2012-02-08 03:44:00
【问题描述】:
我正在尝试将货币值存储在 android 的 sqlite 数据库中。我认为这里不会使用int。听说可以使用Bigdecimal。如果有人能告诉我应该如何使用它将值发送到 sqlite 数据库。
【问题讨论】:
标签: java android eclipse sqlite
我正在尝试将货币值存储在 android 的 sqlite 数据库中。我认为这里不会使用int。听说可以使用Bigdecimal。如果有人能告诉我应该如何使用它将值发送到 sqlite 数据库。
【问题讨论】:
标签: java android eclipse sqlite
将 BigDecimal 存储为字符串。
您可以使用 toPlainString() 方法。
BigDecimal b = new BigDecimal();
String s = b.toPlainString();
然后,当您从数据库中提取它时,您可以创建一个新的 BigDecimal。
BigDecimal c = new BigDecimal(String s)
信不信由你 SQLite 3.0 将所有数据类型存储为字符串,即使您说它应该是整数。查看this web page from the official SQLite website 并向下滚动到“Manifest Typing and BLOB Support”部分。它讨论了它将如何让您将字符串存储在其他类型的列中。
【讨论】:
这里只使用 Int 。由于 SQlite 使用 8 个字节作为 int,最大值为 2^64,即 1.8446744e+19 - 1,或多或少 10^18,对于货币来说足够大了。
还有我们
【讨论】: