如何检查JasperReports中BigDecimal字段的值是否为负数

时间:2017-01-11 11:58:06

标签: java jasper-reports

我的报告中有一些奇怪的负面值,可能来自数据库。我希望格式化字段在表达式编辑器中值为负时显示零。怎么办呢?

1 个答案:

答案 0 :(得分:3)

您应该使用 BigDecimal.signum() 方法检查 BigDecimal 的符号。

表达式为:

from goldstrike.mappings.sponsor import Sponsor

Double 的表达式更简单:

<textFieldExpression><![CDATA[$P{bigDecimalValue}.signum() == -1 ? "0" : "Not negative big decimal"]]></textFieldExpression>

样本:

<textFieldExpression><![CDATA[$P{doubleValue} < 0 ? "0" : "Non negative double"]]></textFieldExpression>

Jaspersoft Studio 中生成的输出结果将为:

enter image description here