将字符串的格式设置为 jasper 报表中的货币格式
2022-09-02 11:37:07
我有一个带有一些数值的字符串。
我想以一种以逗号分隔的方式格式化它,并且数字之前有$ 美元符号。
例如,12345 应格式化为 $ 12,345.00
我尝试了以下没有美元符号的代码:
new java.text.DecimalFormat(#,##0.00).format.(myString)
和下面那个带有美元符号的:
new java.text.DecimalFormat($ #,##0.00).format.(myString)
但是,两者都给出了错误。
实现这种格式的正确方法是什么?
这是jasper report jrxml的一部分,我想避免在报表上“null”,从而插入以下代码:
<textField isBlankWhenNull="false" isStretchWithOverflow="true">
<reportElement stretchType="RelativeToTallestObject" x="1350" y="0" width="150" height="30"/>
<textElement/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{myString}!=null?new java.text.DecimalFormat(#,##0.00).format.($F{myString}):"Unavailable"]]></textFieldExpression>
</textField>
其中 myString 来自查询,并在 jrxml 中声明为:
<field name="myString" class="java.lang.String"/>
早些时候,myString 被声明为 BigDecimal,但随后比较运算符 ?= 不起作用。
如果货币值不可用,我想在报表上打印“不可用”,而不是默认的“null”。否则,我希望按照上述方式正确设置数字格式。
如何解决此问题?
感谢您的阅读。