问题描述:
在项目编写过程中,发现BigDecimal在jsp中进行除法运算时,会有如下问题:
由于数据库保存的金额是以分为单位的,sellamt在数据库中值为1,所以显示在页面时,则应该需要除以100,则为0.01。所以代码为:<fmt:formatNumber value="${info.sellamt/100}" pattern="#0.00"/>
得出的值却是0.00。而我们所期望的值是0.01。
解决方法:
先将info.sellamt由BigDecimal类型转为String类型
<fmt:parseNumber value="${info.sellamt}" var="sellamt" />,将用String类型的值去formatNumber。
<fmt:formatNumber value="${sellamt/100}" pattern="#0.00"/>,则可以得到我们所期望的值0.01。
本文描述了在使用BigDecimal进行除法运算时遇到的精度问题,特别是在JSP页面上展示金额时,通过转换类型并重新格式化数值的方法解决了该问题。
1万+

被折叠的 条评论
为什么被折叠?



