JSTL之formatNumber取整

在网上查了许多资料都说EL表达式无法取整,的确EL表达式除法结果为浮点型。
例如 8 / 7 , {8/7} , 8/7{6/7} , 12 / 7 在 页 面 的 显 示 结 果 分 别 为 : 1.14285714285714280.85714285714285711.7142857142857142 现 在 我 的 目 的 是 只 取 前 面 的 整 数 , 此 时 我 用 的 是 E L 表 达 式 的 &lt; f m t : f o r m a t N u m b e r / &gt; 标 签 , 例 如 : &lt; f m t : f o r m a t N u m b e r t y p e = &quot; n u m b e r &quot; v a l u e = &quot; {12/7 } 在页面的显示结果分别为: 1.1428571428571428 0.8571428571428571 1.7142857142857142 现在我的目的是只取前面的整数,此时我用的是EL表达式的&lt;fmt:formatNumber /&gt;标签,例如: &lt;fmt:formatNumber type=&quot;number&quot; value=&quot; 12/71.14285714285714280.85714285714285711.7142857142857142EL<fmt:formatNumber/><fmt:formatNumbertype="number"value="{8/7)}" maxFractionDigits=“0”/>
结果为1.
maxFractionDigits=“0"表示保留0位小数,即取整,注意:此时取的整数是四舍五入的。
如果是 1 / 7 结 果 就 是 0 , 如 果 是 {1/7}结果就是0,如果是 1/70{6/7}结果就是1,此方法适合想四舍五入取整的。
当然想保留固定位小数只需将maxFractionDigits=“0"中的0做适当修改就可以了,想保留小数点后几位就改成几。
当然也有不四舍五入取整的方法。
例如:
<fmt:formatNumber type=“number” value=”${((13-13%7)/7)}”/>
如果用上面的方法结果为2,此方法结果为1,不同目的分别取之。
其实就是先得到余数,将余数减去再除,这样结果刚好是整数,也就不存在四舍五入的问题了。因为减去余数之后,正好整除,经过本人测试加上maxFractionDigits="0"已经不起作用了。

转载自:https://blog.csdn.net/debbykindom/article/details/5854750

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值