web-dev-qa-db-ja.com

Java BigDecimalはドットの代わりにコンマを持つことができますか?

BigDecimalに割り当てる文字列値があります。 100.23のような数値で10進数の値を更新すると問題なく動作しますが、100,23のような数値で更新すると、コードが例外をスローします。何故ですか?

20
Jean Tehhe

数字に「、」を入れようとしたためです。

このコードを使用して、カンマで数値を解析できます。

NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")

10進数を使用する特別な理由がない場合は、floatまたはdoubleも使用する必要があります。

17

BigDecimal(String)コンストラクター ドキュメント は、すべての有効な形式と文字をリストします。 ,はこのリストに含まれていません。

5
Kevin Bowersox

文字列にコンマまたはポイントがあるかどうかわからない場合は、Stringクラスのreplace(char, char)を使用できます。たとえば、myString.replace(',', '.')

5
Kayz