读书人

晓得的给个答案不知道的凑个热闹~js

发布时间: 2011-12-23 23:32:01 作者: rapoo

知道的给个答案,不知道的凑个热闹~~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;
}

读书人网 >Java Web开发

热点推荐