您好,我有以float格式存储在SQLite数据库中的数据。 我使用NumberFormat.getCurrencyInstance()在TextView中查看它们的数据; 但是现在当我传递这些值来改变它们时应该转换回浮点数。 如何防止例外?
extras.putString("sale", tv_sale.getText().toString());
答案 0 :(得分:0)
您可以将货币存储为Java中的BigDecimal,然后存储为String。
您可以使用toPlainString()方法。
BigDecimal b = new BigDecimal();
String s = b.toPlainString();
然后,当您从数据库中提取它时,您可以创建一个新的BigDecimal。
BigDecimal c = new BigDecimal(String s)
信不信由你,SQLite 3.0将所有数据类型都存储为字符串,即使你说它应该是一个整数。 See here并向下滚动到“Manifest Typing and BLOB Support”部分。它讨论了如何让你将字符串存储在其他类型的列中。