在SQlite android数据库中存储货币

我想在android中的sqlite数据库中存储货币值。 我不这么认为int会被用在这里。 我听说可以使用Bigdecimal 。 如果任何人都可以告诉我应该用来发送值到sqlite数据库的方式。

Solutions Collecting From Web of "在SQlite android数据库中存储货币"

将BigDecimal作为string存储。

你可以使用toPlainString()方法。

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

然后,当你从数据库中拉出来,你可以创build一个新的BigDecimal。

 BigDecimal c = new BigDecimal(String s) 

相信与否SQLite 3.0将所有数据types存储为string,即使您认为它应该是整数。 从官方SQLite网站上查看这个网页,然后向下滚动到“Manifest Typing和BLOB支持”部分。 它讨论了如何让你将string存储在其他types的列中。

在这里使用Int。 由于SQlite使用8个字节作为int,所以最大值为2 ^ 64,即1.8446744e + 19 – 1,或多或less的10 ^ 18,足够大的货币。

还有我们