舍入计算的百分比

时间:2013-11-08 00:03:33

标签: jasper-reports rounding percentage bigdecimal

这是我用来计算百分比的公式:

(new BigDecimal($V{YRSSN_CountsMeasure}).compareTo(BigDecimal.ZERO) == 0) ? "0.0%" :
    (100 * $V{Premium_YesMeasure}.floatValue() / $V{YRSSN_CountsMeasure}.floatValue()) + "%"

效果很好,但不能正确格式化。我想要点后1位小数,它带来7!我试过使用#,##0.0模式,坚持它不起作用。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

假设所有变量类型都是BigDecimal,这应该对你有用:

(new BigDecimal($V{YRSSN_CountsMeasure}).compareTo(BigDecimal.ZERO) == 0) ? "0.0%" : ($V{Premium_YesMeasure}.divide($V{YRSSN_CountsMeasure}).multiply(BigDecimal.valueOf(100)).setScale(1)) + "%"

编辑:添加缺失(在开始时。