知道的给个答案,不知道的凑个热闹~~jstl强人帮个忙了
这是浮点数显示的问题,内容如下:
<logic:iterate id= "cartGood " name= "cart ">
<bean:write name= "cartGood " property= "goodsId "/>
<bean:write name= "cartGood " property= "goodsName "/>
<bean:write name= "cartGood " property= "goodsNowPrc "/> <====这里没问题,显示为15.2
<input name= "num " type= "text " id= "num " value= "${cartGood.num} " size= "5 ">
<c:out value= "${(cartGood.goodsNowPrc)*(cartGood.num)} "/> <====这里有问题,当数量是1时显示为15.199999809265137
</logic:iterate>
具体显示内容如下:
图书编号 图书名称 单价 数量 金额
1 12 面纱 15.2 15.199999809265137
那个goodsNowPrc在数据库中都是只有一位小数的,但是当它被乘数运算以后它的小数位数就变得很长了
我想只能在这里 <c:out value= "${(cartGood.goodsNowPrc)*(cartGood.num)} "/> 处理才能有效果,但是我不知道怎么样做,希望大家帮帮我!谢谢
------解决方案--------------------Number( ' <c:out value= "${(cartGood.goodsNowPrc)*(cartGood.num)} "/> ').toFixed(1)
toFixed()取几位小数。
试试看行不
------解决方案--------------------//四舍五入保留小数点后两位数,希望对你有帮助 ^_^
public double leftTwoBit(double d){
BigDecimal b = new BigDecimal(d);
double d1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
return d1;
}