【发布时间】:2014-06-06 00:17:40
【问题描述】:
我在降低此计算时遇到了问题。我可以做加法,减法等... 但我正在尝试做的是 Jasper 报告中的 ((a - b)/b) 。
这是我目前尝试过的
${Budget}.subtract($F{Actual})/$F{Budget}
但是当我编译它时。它说我有表达问题。我正在使用 Jasper Studio 表达式编辑器
$F{Budget} 和 $F{Actual} 都是文本字段和类 java.math.BigDecimal
这是stace的踪迹
net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{Budgeted}.subtract($F{Actual}.divide($F{Budgeted}))
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.fillReport(ReportControler.java:475)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler.access$18(ReportControler.java:450)
at com.jaspersoft.studio.editor.preview.view.control.ReportControler$4.run(ReportControler.java:337)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : $F{Budgeted}.subtract($F{Actual}.divide($F{Budgeted}))
at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:308)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluateEstimated(JRCalculator.java:582)
at net.sf.jasperreports.engine.fill.JRCalculator.estimateVariables(JRCalculator.java:181)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1261)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1235)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1588)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:939)
at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFiller.run(BaseFillHandle.java:120)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ArithmeticException: Division by zero
at java.math.BigDecimal.divide(Unknown Source)
at ProjectSummary_1398114778002_614232.evaluateEstimated(ProjectSummary_1398114778002_614232:405)
at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:295)
... 9 more
【问题讨论】:
标签: java jasper-reports arithmetic-expressions