16

JSTLでは、

<fmt:formatNumber value="${1.6}" type="number" pattern="#"/>

リターン2と以下

<fmt:formatNumber value="${1.4}" type="number" pattern="#"/>

戻り1、必要なのは2数の上限です

JSTLでこれを実現する直接的な方法はありますか(または、適切なカスタムタグを使用することが唯一の方法です)?

4

2 に答える 2

21

DecimalFormatによって使用されるデフォルトの丸めモード<fmt:formatNumber>はですRoundingMode.HALF_EVEN。タグ属性を介してこれを変更する方法はありません。0.5奇数の整数でない場合は、値に追加するだけで、のように動作しますRoundingMode.CEILING

<fmt:formatNumber value="${bean.number + (bean.number % 1 == 0 ? 0 : 0.5)}" 
    type="number" pattern="#" />
于 2012-07-31T14:21:56.657 に答える
5

このコードを試してください:

<fmt:formatNumber value="${N+(1-(N%1))%1}" type="number" pattern="#"/>

ここで、Nは変数の名前です。

よろしく

于 2012-07-31T08:03:26.737 に答える