Java 将 String 转换为 double 的问题

Java issue converting String to double

我正在尝试将 String 转换为 double。

源字符串的格式为“88.6”,我期望的双精度应为“88.60”。

我尝试使用 Double.parseDouble、双构造函数、Double.valueOf、DecimalFormat 和 NumberFormat 硬编码 Locale.US 或 Locale.ENGLISH 进行转换,但我仍然得到“88,600000”。

如何转换?

谢谢

DecimalFormat df = new DecimalFormat("#.##", new DecimalFormatSymbols(Locale.US));
try {
    dValue = df.parse(szValue).doubleValue();
} catch(ParseException e) {
    e.printStackTrace();
}

虽然我认为没有必要保留尾随零,但我认为这就是您所要求的:

    DecimalFormatSymbols dfs = new DecimalFormatSymbols();
    dfs.setDecimalSeparator('.');
    java.text.DecimalFormat df = new java.text.DecimalFormat();  
    df.setDecimalFormatSymbols(dfs);
    df.applyPattern( "###0.00" );
    String s = "9.90" ;
    System.out.println("non formated d=" + Double.valueOf(s) + " formated d=" +df.format(Double.valueOf(s)));   

尾随零仅在打印时可见,因此您只需格式化数字