Tengo una cadena con algún valor numérico.formateando una cadena a un formato de moneda en el informe de jaspe
Quiero formatearlo de manera que cientos estén separados por comas y el número tenga el signo $ dollar antes.
p. Ej. 12345 debe ser formateado a $ 12,345.00
probé el código de abajo sin signo dólar:
new java.text.DecimalFormat(#,##0.00).format.(myString)
y por debajo de uno con signo de dólar:
new java.text.DecimalFormat($ #,##0.00).format.(myString)
Sin embargo, ambos están dando error.
¿Cuál es la forma correcta de lograr este formato?
Esta es una parte del informe Jasper jrxml donde yo quiero evitar "nulo" en el informe y la inserción de este modo el código de abajo:
<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>
Cuando los resultados mystring de una consulta y se declara en jrxml como:
<field name="myString" class="java.lang.String"/>
Anteriormente myString se declaró como BigDecimal, pero el operador de comparación? = No funcionaba.
Si el valor de la moneda no está disponible, quiero imprimir "no disponible" en el informe en lugar de "nulo" por defecto. De lo contrario, quiero que el número tenga el formato correcto como se describe arriba.
Cómo resolver este problema?
Gracias por leer.
añadir otra solución –
Gracias Alex, será probarlo! – Nik
Double.valueOf está dando el error " esperado" ...Encontré esto: "necesitas especificar la ruta de la clase de compilación si usas bibliotecas externas a los informes de jaspe", ¡pero no pude averiguar cómo lograrlo! –
Nik