我的报告中有一些奇怪的负面值,可能来自数据库。我希望格式化字段在表达式编辑器中值为负时显示零。怎么办呢?
答案 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 中生成的输出结果将为: