动态报告BigDecimal



我正在尝试构建具有多个列的报告。我有一个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);

最新更新