如何将"6020494385.89982"字符串值转换为双精度?

String ss = "6020494385.89982";
double dd = Double.parseDouble(String.valueOf(ss));
System.out.println(dd);


我得到的输出为
6.02049438589982E9,但我希望6020494385.89982为双精度值。

最佳答案

使用DecimalFormat对象应该可以解决问题

String ss = "6020494385.89982";
double dd = Double.parseDouble(String.valueOf(ss));
System.out.println(new DecimalFormat("#0.00000").format(dd));


或者您可以使用System.out#printf()

System.out.printf("%.5f", dd);


因为System.out.println具有双精度的特殊工作方式,例如在这种特定情况下将不起作用。

09-20 19:37