如何将两个字符串类型的字段(例如,价格和数量)相乘以获得double类型的结果?如何在XML文件中写这个?
我在变量表达式中尝试了这个,但它不起作用:
new Double(Double.parseDouble($F{qpa}) * Double.parseDouble($F{price}))]]
答案 0 :(得分:2)
JasperReports不会自动将变量表达式转换为变量类。 @Vicky,一旦我将变量类从默认的java.lang.String
更改为java.lang.Double
,您的变量表达式就适用于我。
您还应该检查qpa
和price
的字段类是否为字符串,因为这是parseDouble()
所期望的。
此外,如果要在textField中打印变量的值,则表达式类也必须更改为java.lang.Double
。
(仅当您使用Java编写表达式时才适用。如果您将报告语言从java
更改为groovy
,这些强制转换将自动执行。但我不建议这样做。 )
答案 1 :(得分:0)
尝试使用此表达式:
Double.valueOf(Double.valueOf($F{qpa}).doubleValue()*Double.valueOf($F{price}).doubleValue())