如何将"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
具有双精度的特殊工作方式,例如在这种特定情况下将不起作用。