форматирование строки в формате валюты в отчете яшмы

У меня есть строка с некоторым числовым значением.

Я хочу отформатировать его так, чтобы сотни были разделены запятыми, а перед номером был знак доллара.

например 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". Иначе, я хочу, чтобы номер был правильно отформатирован, как описано выше.

Как решить эту проблему?

Спасибо за прочтение.

Ответы на вопрос(6)

Ваш ответ на вопрос