我正在尝试构建具有多个列的报告。我有一个total
列,代表了上一列的求和。
但是,我获得的值是类型BigDecimal
,.add
方法的返回类型是BigDecimal
而不是整数,例如:12.00,我希望它在报告中仅显示为12。
这是我的代码:
TextColumnBuilder<Integer> col1 = col.column("Locked Users" , "Locked" , DataTypes.integerType());
TextColumnBuilder<Integer> col2 = col.column("Unlocked Users" , "unlocked" , DataTypes.integerType());
TextColumnBuilder<Integer> col3 = col.column("Failed Logins" , "invalid" , DataTypes.integerType());
TextColumnBuilder<Integer> col4 = col.column("Forgot Password" , "Passforget" , DataTypes.integerType());
TextColumnBuilder<BigDecimal> col5 = col1.add(col2).add(col3).add(col4).setTitle("Total");
我该怎么做?
默认情况下,大十进制类型具有以下格式"#,## 0.00#"
您可以为您的专栏覆盖它
col5.setPattern("#,##0");
如果您不想使用分数,则使用BigInteger
而不是BigDecimal
。或者您可以使用以下内容,
DecimalFormat df = new DecimalFormat("##");
df.format(yourNumber);