この形式の数値を含む CSV ファイルがあります。グループ区切り記号であり1,234.56
、小数点区切り記号です。Camel Bindy を使用して、その数値を BigDecimal として解析したいと思います。これは、この番号のモデル クラスの一部です。,
.
@DataField(pos = 6, required = true, precision = 2, pattern = "#,###.##")
public BigDecimal value;
現在の問題はjava.lang.NumberFormatException
、正しいパターンが適用されていても、これによりエラーが発生することです。注釈からそのパターンを削除し、データ ファイルの数値からグループ区切り記号を削除すると、すべて正常に機能します。または、Double
の代わりに typeを使用する場合BigDecimal
。
Camel Bindyのドキュメントには、BigDecimal のグループ化セパレータを設定できると記載されていますが、その情報の下にある表には、パターンは BigDecimal タイプではなく Decimals に対してのみサポートされていることが示されています。
また、使用されているFormatFactoryクラスのソース コードは、パターンが BigDecimal 型には使用されないことを示しています。
私の質問は次のとおりです。言及されているドキュメントのように、BigDecimal タイプのグループ区切り記号を設定して使用するにはどうすればよいですか? それとも、これは現在サポートされていないので、Double
代わりに使用する必要がありますか?
PS: ロケールは現在 に設定されていen_US
ます。