3

j'ai une requête qui renvoie quantité d'une table:Mise en forme monnaie dans Jasper Reports en utilisant modèle

select bus_price from mySchema.BusTable; 

Cela renverra des quantités comme:

526547 
123456 
456789.25 
12478.35 

J'utilise au-dessus des montants dans le rapport de jaspe.

Cependant, je veux la sortie dans le rapport à afficher comme:

$526,547.00 
$123,456.00 
$456,789.25 
$12,478.35 

extrait de code JRXML est:

<textField isStretchWithOverflow="true">   
    <reportElement stretchType="RelativeToTallestObject" x="700" y="0" width="100" height="30"/>        
    <textElement/>    
     <textFieldExpression class="java.math.BigDecimal"> 
     <![CDATA[$F{BusPrices}]]> 
     </textFieldExpression>   
</textField> 

Je sais que je dois utiliser des modèles. Cependant, je ne suis pas capable de le faire fonctionner.

En utilisant

<textField isStretchWithOverflow="true" pattern='$###,##0.00'>   

ne fonctionne pas.

Qu'est-ce que je manque?

Merci d'avoir lu!

+0

actuellement il n'y a pas de fonction intégrée pour cela. le liez-vous à la grille de données? quelle langue utilisez-vous? –

+1

@johntotetwoo: Je n'ai pas compris votre question. J'utilise la base de données DB2 et le langage de requête sql. – Nik

+0

@johntotetwoo, votre question n'est pas claire pour moi aussi. – mdahlman

Répondre

8

Vous étiez près

<textField pattern="¤ #,##0.00"> 

devrait fonctionner.

Vous avez besoin du caractère "¤" pour le convertir en format "devise".

Si vous téléchargez iReports avec un numéro de version correspondant à votre serveur, vous trouverez vos options.

0

Cela peut dépendre de votre version de Jasper.

Le 3.7.6, j'ai trouvé que spécifier la classe textFieldExpression comme java.util.BigDecimal signifiait que le modèle n'était pas appliqué. Peut-être que cette version de Jasper ne réalise pas que c'est un nombre.

Si vous choisissez au lieu de spécifier la classe textFieldExpression comme étant « java.lang.Number », il utilisera le modèle lorsque vous passez un BigDecimal dans.

1

si vous souhaitez afficher le symbole monétaire dans le code $ et monnaie USD utilise le modèle suivant dans le rapport jasper. pattern = $ #, ## 0.00