3

を使用してレポート:フォーマットする通貨は、私はテーブルから金額を返すクエリを持っているパターン

select bus_price from mySchema.BusTable; 

これは、のような金額を返します:私はジャスパーレポートで上記の金額を使用しています

526547 
123456 
456789.25 
12478.35 

を。

しかし、私はレポートで出力として表示させたい:

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

JRXMLコードスニペットは、次のとおりです。私はパターンを使用する必要が

<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> 

知っています。しかし、私はそれを動作させることができません。

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

を使用して

が機能していません。

私は何が欠けていますか?

読んでいただきありがとうございます!

+0

現在、そのための組み込み機能はありません。あなたはそれをDataGridにバインドしますか?どの言語を使っていますか? –

+1

@johntotetwoo:あなたの質問を理解できませんでした。私はDB2データベースとSQLクエリ言語を使用しています。 – Nik

+0

@johntotetwoo、あなたの質問はあまりにも私には不明です。 – mdahlman

答えて

8

あなたは

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

が動作するはず接近していました。

「通貨」形​​式にするには、「¤」文字が必要です。

サーバーと一致するバージョン番号のiReportsをダウンロードすると、オプションの内容がわかります。

0

お使いのJasperのバージョンによって異なる場合があります。

3.7.6では、textFieldExpressionクラスをjava.util.BigDecimalとして指定すると、パターンが適用されないことがわかりました。多分ジャスパーのバージョンは、それが数字であることを認識しません。

あなたはでのBigDecimalを渡すときには、パターンを使用します。

1

をあなたは$と通貨コードで通貨記号を表示したい場合は、「java.lang.Number型」であるとしてtextFieldExpressionクラスを指定する代わりに選択した場合ジャスパーレポートでは、USDは次のパターンを使用しています。 パターン= $#、## 0.00

関連する問題