4

テーブルから金額を返すクエリがあります。

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

動かない。

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

読んでくれてありがとう!

4

3 に答える 3

10

あなたは近かった

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

動作するはずです。

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

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

于 2012-05-02T14:42:05.283 に答える
3

通貨記号を$で表示し、通貨コードがUSDの場合は、jasperレポートで次のパターンを使用します。パターン=$#、## 0.00

于 2015-08-18T06:19:54.200 に答える
0

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

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

代わりに、textFieldExpressionクラスを「java.lang.Number」として指定することを選択した場合、BigDecimalを渡すときにパターンが使用されます。

于 2012-05-30T18:12:19.027 に答える