1

jsp で算術演算をしたい。struts タグ lib タグを使用しています

以下はコードです:

    <s:set name="value1" value ="%{0.0}" />
    <s:set name="value2" value ="%{0.0}" />
    <s:set name="percent" value ="%{0.0}" />

    <s:iterator>
          <s:set name="value1" value ="%{#value1+ someIntegerValue1}" />
          <s:set name="value2" value ="%{#value2+ someIntegerValue2}" />
    </s:iterator>

    <s:set name="percent" value ="%{(#value1*100.0)/#value2}" />
<fmt:formatNumber type="number" maxFractionDigits="2" minFractionDigits="2" value="${percent}" />

最後の行は常に整数値に丸められるようになりました

value1 = 3 、 value2 = 31 の場合と同様です。その場合、パーセントは (3*100)/31 = 9.68 に等しくなければなりません

しかし、いまいましいものは9.00に出力されます

<s:set name="percent" value ="%{(3*100.0)/31.0}" />
<fmt:formatNumber type="number" maxFractionDigits="2" minFractionDigits="2" value="${percent}" />

その後、正しく出力されます 9.68 :S

誰か助けてください?? この式をハードコーディングすると

私はこれに長い間頭を悩ませてきましたが、2〜3時間以上グーグルで検索しても何も得られませんでした.

4

1 に答える 1

2

value2doubleそれを機能させるには 31longEL の a であり、EL31.0の adoubleです。

とはいえ、JSP は算術的なものではなく、プレゼンテーションを目的としています。よりクリーンな (そしてヘッドバンギングが少ない) 方法は、Bean で計算を行い、通常の EL の方法で結果にアクセスすることです。

于 2009-12-31T15:16:31.963 に答える