-2

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)

誰でも理由を教えてもらえますか?

4

2 に答える 2

1

このDouble.parseDoubleメソッドは、カンマを含む数字を受け入れません。入力文字列は、 のjavadoc でDouble.valueOf(String)説明されている構文に準拠している必要があります。

他の形式の数値を解析する場合は、DecimalFormatクラス、特にそのparseメソッドを確認する必要があります。状況に応じてDecimalFormat、Locale からインスタンスを取得したり、特定のパターンとシンボルを使用してインスタンスを作成したりできます。

于 2013-05-11T09:20:58.963 に答える
0

java は、カンマの代わりにドットを使用して浮動小数点数を解析します。

電話

String.replace(',','.')

Double.parseDouble を呼び出す前に

于 2013-05-11T09:19:20.133 に答える