如何在beanio的相同值上使用多个@Field?

时间:2016-09-13 13:54:26

标签: java bean-io

我正在使用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;

1 个答案:

答案 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));
}