在JSTL中,
<fmt:formatNumber value="${1.6}" type="number" pattern="#"/>
返回2和以下
2
<fmt:formatNumber value="${1.4}" type="number" pattern="#"/>
回报1,我需要2, 一些天花板 。
1
是否有直接的方法可以在JSTL中实现此目的(或者唯一的方法是使用适当的自定义标记)?
的默认舍入模式DecimalFormat是通过使用<fmt:formatNumber>IS RoundingMode.HALF_EVEN。没有办法通过任何标签属性来更改它。0.5当它不是一个奇数整数时,只需将其添加到使其表现为即可RoundingMode.CEILING。
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="#" />