Jasper reports Jasper报告中的双十进制算法

Jasper reports Jasper报告中的双十进制算法,jasper-reports,bigdecimal,Jasper Reports,Bigdecimal,我正在编写一份MySql支持的Jasper报告。我的报告中有5个大十进制变量。此报告计算多项服务的年费用。我需要加上前4项,减去最后一项。其中一些变量可能包含相当大的值(8位数)。我不知道怎么做计算。我尝试过创建一个双变量并执行以下操作 Double.valueOf($V{enc}.doubleValue() + $V{Bed}.doubleValue()+$V{Diet}.doubleValue() + $V{Investigation}.doubleValue() - $V{ref}.dou

我正在编写一份MySql支持的Jasper报告。我的报告中有5个大十进制变量。此报告计算多项服务的年费用。我需要加上前4项,减去最后一项。其中一些变量可能包含相当大的值(8位数)。我不知道怎么做计算。我尝试过创建一个双变量并执行以下操作

Double.valueOf($V{enc}.doubleValue() + $V{Bed}.doubleValue()+$V{Diet}.doubleValue() + $V{Investigation}.doubleValue() - $V{ref}.doubleValue()) 
报告没有给出任何错误,但导致7.2690307848E9,如下所示:

254350, 14589,  8122, 3708, 0   7.269307848E9 
(这些是原始变量的值,但最后一个是计算结果)

在寻找解决方案时,我确实遇到了以下问题:
($V{enc}.ADD($V{Bed})).toString()

我不知道如何将它应用到我的案例中。这只能添加两个值


我需要一个整数值,而不是像上面那样的小数。顺便说一句,我使用iReport 1.2.0,这是生成报告的一项要求。

我需要一个整数值,而不是像上面那样的十进制数值
-你的意思是什么?我的意思是它以双精度格式以7.269030784E9(7.2690307848*10^9)的格式显示。我希望得到的答案是726930784889。我把这个问题贴出来,然后就睡着了。这就是为什么延迟回答。重复:&