форматирование строки в формате валюты в отчете яшмы
У меня есть строка с некоторым числовым значением.
Я хочу отформатировать его так, чтобы сотни были разделены запятыми, а перед номером был знак доллара.
например 12345 следует отформатировать до $ 12 345,00
Я попробовал приведенный ниже код без знака доллара:
new java.text.DecimalFormat(#,##0.00).format.(myString)
и ниже со знаком доллара:
new java.text.DecimalFormat($ #,##0.00).format.(myString)
Однако оба дают ошибку.
Как правильно достичь этого формата?
Это часть отчета jasper jrxml, где я хочу избежать & quot; null & quot; в отчете и, следовательно, вставив следующий код:
<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, но тогда оператор сравнения? = Не работал.
Если значение валюты недоступно, я хочу напечатать & quot; недоступно & quot; в отчете вместо значения по умолчанию "null". Иначе, я хочу, чтобы номер был правильно отформатирован, как описано выше.
Как решить эту проблему?
Спасибо за прочтение.