Java 如何在jasperReport中计算字符串列和

Java 如何在jasperReport中计算字符串列和,java,jasper-reports,Java,Jasper Reports,我需要检索字符串列的总和,所以我写了以下内容: <variable name="totalQt" class="java.lang.Integer" calculation="Sum"> <variableExpression> <![CDATA[Integer.parseInt($F{QTARTBP}.replaceAll(" ", ""))]]> </variableExpression> </variab

我需要检索字符串列的总和,所以我写了以下内容:

<variable name="totalQt" class="java.lang.Integer" calculation="Sum">
    <variableExpression>
      <![CDATA[Integer.parseInt($F{QTARTBP}.replaceAll(" ", ""))]]>

     </variableExpression>
</variable>
所以有空字符串,所以在这种情况下如何使用零,我写了这个,但它是错误的 :



任何想法都将受到欢迎

Jasper不需要计算-您应该在java代码中生成字符串。并计算您在java中所需的内容


Upd。这个答案是不正确的。我对JR有了更深入的了解。

查看您使用的输入数据会很有用,但尽管如此,如果
$F{QTARTBP}
的值是一个空格(
),代码显然会失败。您可以尝试以下表达式,该表达式将在空字符串检查中包含单个空格,并返回
0

$F{QTARTBP}.replaceAll(" ", "").equals("") ? 0 : Integer.parseInt($F{QTARTBP}.replaceAll(" ", ""))

您应该知道,如果您的任何输入字符串不能解释为整数,此操作仍将失败。

您的答案不清楚。你说贾斯珀不能计算是什么意思?
    <variableExpression>

      <![CDATA[$F{QTARTBP}.equals("") ? 0 : Integer.parseInt($F{QTARTBP}.replaceAll(" ", ""))]]>

    </variableExpression>
$F{QTARTBP}.replaceAll(" ", "").equals("") ? 0 : Integer.parseInt($F{QTARTBP}.replaceAll(" ", ""))