【问题标题】:Jasper Report won't loadJasper 报告无法加载
【发布时间】:2015-11-12 16:51:27
【问题描述】:

我有这个代码基本上从数量中除税并从价格中减去:

$F{unitPriceStd}.subtract($F{taxAmt}.divide($F{totalQty}))

但是 jrxml 不会加载。删除这段代码将加载 .jrxml。知道为什么吗?

所有字段都是 BigDecimal。

错误原因是 taxAmt 为 0.00 并在除以 totalQty 时导致错误。知道如何解决这个问题吗?

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    这个表达式可能会抛出一系列异常,taxAmt 为零实际上都不是。这个修改后的表达式是 NullPointerExceptionArithmeticException 安全的,但是,我不知道这是否是您的业务逻辑所需要的:

    ($F{unitPriceStd} == null ? BigDecimal.ZERO : $F{unitPriceStd}) .subtract( ($F{taxAmt} == null ? BigDecimal.ZERO : $F{taxAmt}) .divide( ($F{totalQty} == null || $F{totalQty}.equals(BigDecimal.ZERO)) ? BigDecimal.ONE : $F{totalQty} ))

    【讨论】:

    • 非常好的答案,对于 OP 业务逻辑,可能是 $F{unitPriceStd} 上的 printWhenExpression != null
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多