由于逗号用作小数分隔符,因此此代码会抛出NumberFormatException:
NumberFormatException
String p="1,234"; Double d=Double.valueOf(p); System.out.println(d);
有没有比解析更好的"1,234"方法1.234:p = p.replaceAll(",",".");?
"1,234"
1.234
p = p.replaceAll(",",".");
使用java.text.NumberFormat:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue();
更新:
要支持多语言应用程序,请使用:
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());