问题描述:
在项目编写过程中,发现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。