如何在JasperReports中乘以两个字符串字段?

时间:2011-09-13 15:38:45

标签: xml-serialization jasper-reports

如何将两个字符串类型的字段(例如,价格和数量)相乘以获得double类型的结果?如何在XML文件中写这个?

我在变量表达式中尝试了这个,但它不起作用:

new Double(Double.parseDouble($F{qpa}) * Double.parseDouble($F{price}))]]

2 个答案:

答案 0 :(得分:2)

JasperReports不会自动将变量表达式转换为变量类。 @Vicky,一旦我将变量类从默认的java.lang.String更改为java.lang.Double,您的变量表达式就适用于我。

您还应该检查qpaprice的字段类是否为字符串,因为这是parseDouble()所期望的。

此外,如果要在textField中打印变量的值,则表达式类也必须更改为java.lang.Double

(仅当您使用Java编写表达式时才适用。如果您将报告语言从java更改为groovy,这些强制转换将自动执行。但我不建议这样做。 )

答案 1 :(得分:0)

尝试使用此表达式:

Double.valueOf(Double.valueOf($F{qpa}).doubleValue()*Double.valueOf($F{price}).doubleValue())