我正在解析数据库中的字符串值,其值如下:
9.00, 9.44, 90.00、90.44、 180.00, 180.44
作为 Double 并将其存储在列表适配器中并在对话框中膨胀
这是我用来将其转换为 Double 的代码。
DecimalFormat decimalFormat = new DecimalFormat("0.00");
double tmp = Double.parseDouble(decimalFormat.format(Double
.parseDouble(string)));
但是,当它转换为 Double 时,我只能得到一个小数点。我哪里错了?
最佳答案
这段代码
String string = "9.44";
DecimalFormat decimalFormat = new DecimalFormat("0.00");
double tmp = Double.parseDouble(decimalFormat.format(Double
.parseDouble(string)))
将完全相同的值作为更短和更简单的代码分配给 tmp
...
double tmp = Double.parseDouble(string);
如果您需要精确的小数位数并且值必须精确,则应该使用 BigDecimal 而不是 double。如果将 1.00 存储为 double ,则实际上有 0.999...7 而不是 1.00
关于java - Android 字符串转两位小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32295940/