我尝试操作要添加的值时有以下异常; 非常感谢你的帮助
java.lang.NumberFormatException: Invalid double: "20,000"
java.lang.StringToReal.invalidReal(StringToReal.java:63)
java.lang.StringToReal.parseDouble(StringToReal.java:269)
java.lang.Double.parseDouble(Double.java:295)
java.lang.Double.valueOf(Double.java:332)
答案 0 :(得分:3)
您可以使用NumberFormat
来解析String
1 。像,
String str = "20,000";
NumberFormat nf = NumberFormat.getNumberInstance(new Locale("en_US"));
NumberFormat nfIT = NumberFormat.getNumberInstance(Locale.ITALIAN);
try {
System.out.println(nf.parse(str)); // <-- 20000
System.out.println(nfIT.parse(str)); // <-- 20
} catch (ParseException e) {
e.printStackTrace();
}
有关更多选项,请参阅Customizing Formats (The Java Tutorials)。
1 确保传递适当的Locale
以匹配您的预期输出。
答案 1 :(得分:-1)
您不要在数字中使用逗号作为分隔符。
您必须使用20000
代替20,000
。
编辑:
正如@MitchWeaver所提到的那样,你也可以用逗号取代逗号,使其成为20_000