使⽤JSTL对浮点型数字进⾏取整
如题,⽰例代码如下
<c:set value="9" var="num1"></c:set>
<c:set value="7" var="num2"></c:set>
<c:set value="5" var="num3"></c:set>
<fmt:formatNumber value="${num1/num2-0.5 }" pattern="#0" var="num4"></fmt:formatNumber>
<fmt:formatNumber value="${num1/num3-0.5 }" pattern="#0" var="num5"></fmt:formatNumber>
${num1/num2 }:${num4 }<br>
${num1/num3 }:${num5 }jstl条件标签
说明:取整⽅式主要原理是,fmt:formatNumber标签在进⾏格式化输出时,对数字进⾏了四舍五⼊,利⽤这个特点,对需要取整到浮点数减去0.5,然后在⽤fmt:formatNumber进⾏格式化,同时将结果保存到新变量中去,在需要到地⽅使⽤新到变量即可。
此处使⽤了⼀个⽐较⽼⼟到做法,就是:对数字加0.5,然后四舍五⼊得到⼤于这个数字到最⼩整数;对数字减0.5,然后四舍五⼊得到⼩于这个数字到最⼤整数。基于这个原因,上⾯到⽅法看起来就简单了。
更正:对于JSTL进⾏浮点计算时,保留⼩数时是按照“四舍六⼊5奇偶”,所以上⾯我们的0.5需要调整为0.49

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。