Android字符串到双小数点

时间:2015-08-30 11:15:08

标签: java android string double decimal

我正在从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时,我只能获得一个小数点。哪里错了?

2 个答案:

答案 0 :(得分:1)

此代码

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 ... 7而不是1.00

答案 1 :(得分:0)

试试这个

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

DecimalFormat("##.##")

根据您的要求使用#

进行修改