Jasper reports jasper报告中的双值舍入
我在jasper报告中有一个文本字段,如下所示:Jasper reports jasper报告中的双值舍入,jasper-reports,rounding,Jasper Reports,Rounding,我在jasper报告中有一个文本字段,如下所示: <textFieldExpression class="java.lang.Double"><![CDATA[$V{v_vcTotal}]]></textFieldExpression> 我想使用半向上舍入模式对该值进行舍入。我可以用一种简单的方法实现这一点吗?提前谢谢 编辑:我不想更改我的java类。在jasper jrxml文件中我能做些什么。因此,所有归功于@utkarsh他们的表达式是目前为止我在
<textFieldExpression class="java.lang.Double"><![CDATA[$V{v_vcTotal}]]></textFieldExpression>
我想使用半向上舍入模式对该值进行舍入。我可以用一种简单的方法实现这一点吗?提前谢谢
编辑:我不想更改我的java类。在jasper jrxml文件中我能做些什么。因此,所有归功于@utkarsh他们的表达式是目前为止我在网上看到的唯一一个将我的“双精度”数字转换到我的报告中的有效表达式,我的表达式:
$f{balance}
将从数据库中的计算字段生成两倍,如“-1365.0000000000 3”
在Expression editor中(代替在source选项卡中进行更改),我想从数字中提取2个sig Fig以获得外观。我添加了这个表达式,并停止了“编译”错误和想要的结果:
new BigDecimal($F{balance}).setScale(2, BigDecimal.ROUND_HALF_DOWN).toString()
结果将是“-1365.00”
从我所读到的,这是一个有点过火,以获得预期的结果,但我也在一个最后期限,所以我会尝试优化一些其他时间 我已经检查过这个问题了。请参考我的编辑。在发布问题之前,检查了所有相关问题。尝试了此操作,但不起作用。您能指出我的错误所在吗。
System.out.println(新的BigDecimal(2.5)。设置刻度(0,BigDecimal.ROUND_HALF_DOWN))
-打印2System.out.println(新的BigDecimal(2.5)。设置刻度(0,BigDecimal.ROUND_HALF_UP))
-打印3。怎么了?