关于数字取整、四舍五入
在做购物车中,涉及购物车小计
产品价格为有两位小数的浮点数,在购物车页面上从后台获取数据商品数量及商品价格,在js中做计算显示到页面
出现例如:
的情况。
解决:采用toFixed();方法进行处理。
//异步加载购物车详情 $(function(){ html=""; $.ajax({ type:'POST', data:{uname:sessionStorage['loginName']}, url:'../data/cart_detail_page.php', success:function(data){ $.each(data,function(i,p){ html+=` <tr> <td> <input type="checkbox" data-ischeck="${p.isCheck}"/> <input type="hidden" name="did" value="${p.did}" /> <div><img src=${p.picmid} alt=""/></div> </td> <td><a href="${p.purl}">${p.pname}</a></td> <td>${p.price}</td> <td> <button>-</button><input type="text" value="${p.count}"/><button>+</button> </td> <td><span id="total">${(p.price*p.count).toFixed(2)}</span></td> <td><a id="delete" href="${p.did}">删除</a></td> </tr>`; }); $('#cart tbody').html(html); //计算总价 sumTotal(); } }); });
顺带了解一下,几个做数字处理的函数
Math.floor(); 向下取整的函数
Math.ceil(); 向上取整的函数
Math.round(); 四舍五入取整
().toFixed(n); 四舍五入取n位小数 但注意进过运算得到的是字符串
举例:
Math.floor(38.4000006);
38
Math.ceil(38.4000006);
39
Math.round(38.400006);
38
(38.46734009).toFixed(2);
"38.47"