次の結果になりますException:
String p="1,234";
Double d=Double.valueOf(p);
System.out.println(d);
解析するためのより良い方法がある"1,234"取得する1.234以上は:p = p.replaceAll(",",".");?
replaceAll(",",".")すべてのコンマをドットに置き換えます。コンマがない場合は、何もしません。Double.valueOf()小数点を小数点として使用する文字列でのみ機能します。ここでは、現在のデフォルトロケールの影響を受けません。docs.oracle.com/javase/8/docs/api/java/lang/...
replaceAll(",",".")は、単一のカンマがある場合にのみ機能することです。つまり、1,234,567がスローされ java.lang.NumberFormatException: multiple pointsます。肯定的な先読みを持つ正規表現で十分ですp.replaceAll(",(?=[0-9]+,)", "").replaceAll(",", ".")。詳細:regular-expressions.info/lookaround.html