Android字符串为双小数点



我正在解析来自DB的字符串值,其值如下:

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存储为双倍,则实际得到0.999……

试一下

DecimalFormat decimalFormat = new DecimalFormat("#.00");
double tmp = Double.parseDouble(decimalFormat.format(string));

DecimalFormat("##.##")

根据您的需求修改#

最新更新