Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jasper reports jasper报告中的双值舍入_Jasper Reports_Rounding - Fatal编程技术网

Jasper reports 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他们的表达式是目前为止我在

我在jasper报告中有一个文本字段,如下所示:

<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))
-打印2
System.out.println(新的BigDecimal(2.5)。设置刻度(0,BigDecimal.ROUND_HALF_UP))
-打印3。怎么了?