我有一個四捨五入的問題。如果我查看文本,因爲它是所有關於但不適用於類型雙重轉換四捨五入的例外 - DecimalFormat
DecimalFormat df = new DecimalFormat("#0.00000");
private double getAc(double b, double h){
double Ac = b * h;
Ac = Double.valueOf(df.format(Ac));
return Ac;
}
Ac = getAc(0.5, 0.8);
System.out.println("Ac: " + Ac);
。
Exception:
Caused by: java.lang.NumberFormatException: For input string: "0,40000"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
四捨五入至小數點後五位
請上傳所有的代碼和點異常被拋出了!它看起來像你通過'0,40000'而不是'0.4000' – BrunoDM
你確定你的區域設置是正確的嗎? – Compass
檢查http://stackoverflow.com/questions/5054132/how-to-change-the-decimal-separator-of-decimalformat-from-comma-to-dot-point - 它似乎你認爲Java理解逗號爲小數分隔符。如果沒有一點點小推動,它不會。此外,Java編碼標準提示使用camelCase命名變量。 – Deltharis