jstl 格式化数字 不四舍五入

Z_Q_Wei 2012-09-24 10:15:41
用jstl格式化数字,我想保留3位数字,后面小数未0的不显示,但是不要四舍五入,直接截断到小数点后3位。求指教啊!
...全文
594 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
womendege0 2014-09-03
  • 打赏
  • 举报
回复
引用 6 楼 womendege0 的回复:
<fmt:formatNumber type="number" value="${size/4 + (size%4>0?1:0) -0.5}" 直接减个0.5 要搞清楚原理很简单:你测试下jstl怎么四舍五入的。 比如是0.49不进位 0.5进位。 那就减个0.5就不会进位了撒。 ${size/4 + (size%4>0?1:0) -0.5} 我这个可以用于分页: 比如size是10 , 10/4 =2.25 ,size%4 >0 ?1:0 这个三次元是判断有没有余数,有就+1没有就不加了。 最后再减去0.5就OK了。 楼主你要根据实际需求来。别照抄我的。
改成<c:set var="numbs"> <fmt:formatNumber type="number" value="${size/4 + (size%4>0?1:0) - 0.49}" pattern="#0"/> </c:set>
womendege0 2014-09-02
  • 打赏
  • 举报
回复
<fmt:formatNumber type="number" value="${size/4 + (size%4>0?1:0) -0.5}" 直接减个0.5 要搞清楚原理很简单:你测试下jstl怎么四舍五入的。 比如是0.49不进位 0.5进位。 那就减个0.5就不会进位了撒。 ${size/4 + (size%4>0?1:0) -0.5} 我这个可以用于分页: 比如size是10 , 10/4 =2.25 ,size%4 >0 ?1:0 这个三次元是判断有没有余数,有就+1没有就不加了。 最后再减去0.5就OK了。 楼主你要根据实际需求来。别照抄我的。
Z_Q_Wei 2012-09-24
  • 打赏
  • 举报
回复
貌似 刚刚我问的那样不行哈? fn:substring 只有根据索引截取,不能根据字符截取。。。。
但是问题是这个要格式化的值是个变量,我并不知道他有多少位
Z_Q_Wei 2012-09-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

${fn:substring(str, start, end)}
[/Quote]
我直接这样写,去的小数点后面3位的数字,不行吗?
value="${fn:substring('11.2222','.',3)}"
  • 打赏
  • 举报
回复
${fn:substring(str, start, end)}
Z_Q_Wei 2012-09-24
  • 打赏
  • 举报
回复
自己先顶下,在线等答案!
Z_Q_Wei 2012-09-24
  • 打赏
  • 举报
回复
唉! 有人能帮忙解决下没啊?

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧