我有一个 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 的分组分隔符,但该信息下方的表格表明该模式仅支持 Decimals 而不是 BigDecimal 类型。
此外,使用的FormatFactory类的源代码显示该模式不会用于 BigDecimal 类型。
所以我的问题是:如何为 BigDecimal 类型设置和使用分组分隔符,就像提到的文档一样?还是目前不支持此功能,我必须Double
改用?
PS:语言环境当前设置为en_US
.