无法从BigDecimal强制转换为jasper中的String(奇怪的错误// $ JR_EXPR_ID = 18 $)

时间:2015-05-10 12:32:40

标签: jasper-reports

我有一个jrxml文件,它有一个BigDecimal值字段,当我尝试执行报告时。我收到一个名为"的错误在jasper"中无法从BigDecimal转换为String。我正在使用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

我试图更改表达式类。但似乎没什么用。我需要值来获得总和,也需要作为一个字段。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

当我为该文本字段删除带有错误的标签“ printWhenExpression”时,该错误不再显示。