我正在使用org.beanio
来解析固定长度的记录。
不幸的是,有price
个值,其中价格的整数和小数部分分配到不同的位置。
问题:是否可以将两个@Field
定义为单个值,并通过BigDecimal
提取format
的不同部分?
@Field(at = 20, length = 6, format = ...<the integer part>)
@Field(at = 100, length = 2, format = ...<the fractional part>)
private BigDecimal price;
答案 0 :(得分:1)
我认为不可能,但您可以简单地映射到其他2个字段并计算值
@Field(at = 20, length = 6)
private Integer priceWholeAmt;
@Field(at = 100, length = 2)
private Integer priceChange;
public BigDecimal getPrice(){
return new BigDecimal(priceWholeAmt).add(new BigDecimal(priceChange/100));
}