我正在尝试解析java中的字符串a,这是我得到的错误。
<gx:coord>10,8638931 44,6106521 0</gx:coord>
Exception in thread "main" java.lang.NumberFormatException: For input string: "10,8638931"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at parser.history.Main.main(Main.java:28)
谁能告诉我为什么?
答案 0 :(得分:1)
Double.parseDouble
方法不接受带逗号的数字。输入字符串必须符合javadocs for Double.valueOf(String)
。
如果要解析其他格式的数字,则应查看DecimalFormat
类,特别是其parse
方法。根据具体情况,您可以从Locale获取DecimalFormat
实例...或使用给定的模式和符号专门创建它。
答案 1 :(得分:0)
java使用点而不是逗号来解析浮点数。
致电
String.replace(',','.')
在调用Double.parseDouble之前