Java读取Double作为字符串?

时间:2013-11-30 14:25:02

标签: java

在这一行:

totalCost += df.format(pCost);

我得到错误'不可转换的类型'需要:double,found:string,但是pCost变量是double,并且使它输出为double的方法..有谁知道为什么会发生这种情况?

2 个答案:

答案 0 :(得分:2)

使用这个:

totalCost += pCost;

或者,如果你愿意:

totalCost += Double.valueOf(df.format(pCost));

请参阅:Round a double to 2 decimal places

编辑:作为对下面警告的回应:此代码不是非常精确;点击链接可获得更准确的版本(简而言之:将其转换为BigDecimal并使用.setScale()

答案 1 :(得分:1)

很好的十进制格式确实会返回字符串:

DecimalFormat df = new DecimalFormat("0.00##");
String result = df.format(34.4959);

但要获得Double,你可以做到:

Double.valueOf(df.format(34.4959));