[英]How to convert in Expression Language (EL) double or float value to int without round-off?
我在JSP中使用表达式语言(EL)。
<c:set var="noOfPages" value="${numItems/itemsPerPage}" />
<fmt:formatNumber var="noOfPagesRounded" value="${noOfPages}" maxFractionDigits="0" />
<c:if test="${(numItems % itemsPerPage) > 0}">
<c:set var="noOfPages" value="${noOfPagesRounded + 1}"/>
</c:if >
如你所见,我正在计算不。 需要显示x
的页面。 每页的结果。
从第2行开始,这不能一直工作,即formatNumber
标签是我的除法结果的四舍五入,我不想四舍五入。
即对于73个记录,每页20个需要4页,但我得到结果5,因为在第2行它是结果3.65到4的舍入但我想noOfPagesRounded=3
。
如何在int
转换float
或double
值而不进行四舍五入?
如果你想将noOfPagesRounded设置为floor(noOfPages),那么尝试这个(在EL中没有楼层功能):
<fmt:formatNumber var="noOfPagesFloored" value="${noOfPages-(noOfPages%1)}" maxFractionDigits="0" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.