2012-04-16 26 views
1

複数のフィールドに文字列のiReportは内の変数をフォーマットします:私は次の式を持っているテキストフィールドを持っている

$F{casNo} + " Total " + $P{chosenUom} + ": " + $V{total_COUNT} 

casNoは、文字列で、chosenUomは文字列です。 total_COUNTは、doubleの合計変数です。 total_COUNT変数が表示されますが、小数点以下8桁(1.34324255234)です。必要なのは、1.34の行に沿ったものです。ここで

は、私はすでに試したものです:

すべてのヘルプは、私はちょうど基本的な数学をやっている今の

を理解されるだろうが、私は、真の解決策を望んでいないよ
$F{casNo} + " Total " + $P{chosenUom} + ": " + new DecimalFormat("0.00").format($V{total_COUNT}).toString() 

回避策

((int)($V{total_COUNT}*100.0))/100.0 
+0

なぜてDecimalFormatであなたの試みがあなたのために動作しませんでしたか?エラー、形式の誤りなどが発生しましたか?それはうまくいったはずです。エラーを受け取った場合は、 '$ V {total_COUNT} 'の変数型をチェックし、nullでないことを確認してください。また、DecimalFormatがデフォルトでRoundingMode.HALF_EVENを使用していることに注意してください。 – kaliatech

+0

エラーは「[javax.servlet.ServletException:エラーを評価するエラー:ソーステキスト:$ F {casNo} + "合計" + $ P {selectedUomあなたはそれを言いました、私はおそらく、データベースからいくつかのnull値が来ていると思います。 。すべてのデータはユーザーからのものなので、その情報は決してわかりません。 –

答えて

0

テキストフィールドを2つに分割することができますが、$ V {total_COUNT} 2番目のものは$ V {total_COUNT}だけを含んでいますが、Patternプロパティは "#0.00"のように設定されています。

不要な単語の折り返しやスペーシングを防ぐには、レイアウトを少し創造する必要があります。例えば、最初のテキストフィールドはワイドで右寄せにすることができますが、カウントを含むテキストフィールドは左寄せで、フォーマットされた数に対応するのに十分な幅があります。

2

あなたは使用してLLINE数の書式を設定することができます

new DecimalFormat("###0.00").format(YOUR NUMBER) 
関連する問題