2013-05-21 95 views
1

我有一个报告我已经用floor函数来得到我的结果,但结果给出了小数点2.0,我只想得到整个数字,如2Java:jasper报告删除尾随零

这是我用来获得结果的公式。

FLOOR(DAYS(DATE(new Integer($F{date_last_modified}.getYear()+1900),new Integer($F{date_last_modified}.getMonth()+1),new Integer($F{date_last_modified}.getDate())),DATE(2013,05,20))/7)+" "+"weeks "+DAYS(DATE(new Integer($F{date_last_modified}.getYear()+1900),new Integer($F{date_last_modified}.getMonth()+1),new Integer($F{date_last_modified}.getDate())),DATE(2013,05,20)) % 7 +" "+"days"+" ago" 

回答

0

只是cast公式来Integer

(int) YourFormula 

然后为你的公式代码会

(int) (FLOOR(DAYS(DATE(new Integer($F{date_last_modified}.getYear()+1900),new Integer($F{date_last_modified}.getMonth()+1),new Integer($F{date_last_modified}.getDate())),DATE(2013,05,20))/7)+" "+"weeks "+DAYS(DATE(new Integer($F{date_last_modified}.getYear()+1900),new Integer($F{date_last_modified}.getMonth()+1),new Integer($F{date_last_modified}.getDate())),DATE(2013,05,20)) % 7 +" "+"days"+" ago") 
+0

感谢您的答复,但我得到我的碧玉报告中表达错误。似乎不喜欢'(int)'.Am主要关注我公式的这一部分。 ($ F {date_last_modified} .getYear()+ 1900),new Integer($ F {date_last_modified} .getMonth()+1),new Integer($ F {date_last_modified} .getDate() )),DATE(2013,05,20))/ 7)' – saiyan101

+0

@ saiyan101什么是您输出的表达式错误? –

+0

这是我得到的错误:'net.sf.jasperreports.engine.fill.JRExpressionEvalException:评估表达式的错误: \t源文本︰(int)(FLOOR(DAYS(DATE(new Integer($ F {date_last_modified} .getYear )+1900),新的整数($ F {date_last_modified} .getMonth()+ 1),新的整数($ F {date_last_modified} .getDate())),DATE(2013,05,20))/ 7)+“ “+”星期“+ DAYS(DATE(新整数($ F {date_last_modified} .getYear()+ 1900),新整数($ F {date_last_modified} .getMonth()+1),新整数($ F {date_last_modified} .getDate())),DATE(2013,05,20))%7 +“”+“days”+“ago”)' – saiyan101