碰到一个这样的问题:对于一个变量(单位是元),需要转成(万元)之后保留1位小数,且对1位小数后面的值需要进行四舍五入,不是截取到1位小数;如:15500元==>1.6万元
需要在jsp中处理,网上查了一下,发现使用下面的标签就好了
<fmt:formatNumber type="number" value="${(singlePrize/10000)}" pattern="#.0"/>
但是在使用的时候有一个问题如下:
15588==>2了,很奇怪,然后发现直接打印出${singlePrize/10000}的值为2,为什么/10000就直接给四舍五入为整数了呢?试了很久都行不通,后来终于找到一个解决办法(网上好多感觉都是复制粘贴的,有些博客什么的内容都一样);于是最后的办法就是:
<fmt:formatNumber type="number" value="${(singlePrize*0.0001)}" pattern="#.0"/>
将"/10000"改成"*0.0001",使用乘法就可以解决了,具体原因没去深究,这里记录一下坑。