无法在碧玉中从 BigDecimal 转换为字符串(奇怪的错误//$JR_EXPR_ID=18$)

Cannot cast from BigDecimal to String in jasper (weird error //$JR_EXPR_ID=18$)

我有一个 jrxml 文件,其中有一个 BigDecimal 值的字段,当我尝试执行报告时。我收到一个名为“无法从 BigDecimal 转换为碧玉中的字符串”的错误。我使用 ireport 5.6.0 做报告,我得到了这样一个奇怪的错误,

1. Cannot cast from BigDecimal to String
            value = (java.lang.String)(((java.math.BigDecimal)variable_variable1.getValue())); //$JR_EXPR_ID=18$
                    <----------------------------------------------------------------------->
2. Cannot cast from BigDecimal to String
            value = (java.lang.String)(((java.math.BigDecimal)variable_variable1.getOldValue())); //$JR_EXPR_ID=18$
                    <-------------------------------------------------------------------------->
3. Cannot cast from BigDecimal to String
            value = (java.lang.String)(((java.math.BigDecimal)variable_variable1.getEstimatedValue())); //$JR_EXPR_ID=18$
                    <-------------------------------------------------------------------------------->
3 errors

我尝试更改表达式 class。但似乎没有任何效果。我需要这个值来获得总和,也需要作为一个字段。

您有一个字段,例如 $F{ID} 和字段 class=java.math.BigDecimal。因为您想将此字段用作字符串和小数;

您可以创建两个变量 variable1,变量 Class=java.math.BigDecimal,变量表达式为 $F{ID}

并创建另一个变量 variable2,变量 Class=java.lang.String,变量表达式为 $F{ID}.toPlainString()

当我错误地删除该文本字段的标记 "printWhenExpression" 时,错误没有再次显示。