我的代码如下:
DecimalFormat df = new DecimalFormat("0.##");
return Double.parseDouble(df.format(sum));
Sum是一个double,当它等于2时,它返回2.0。 这是因为我的格式如何,或者因为DecimalFormat如何返回一个字符串而我将它转换回一个双字母?
编辑:我正在使用的方法需要返回一个双
答案 0 :(得分:1)
如果您要打印String
返回的df.format(sum)
,那么您会得到:
2
据推测,您正在打印方法返回的double
,该方法始终会打印至少一个小数位:
2.0
数字本身没有任何内在格式。要控制格式设置,请使用df.format(sum)
并打印String
。无需将其解析回double
,这会故意丢失您刚才应用的格式。