关于数字取整、四舍五入

在做购物车中,涉及购物车小计

产品价格为有两位小数的浮点数,在购物车页面上从后台获取数据商品数量及商品价格,在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"

 

posted @ 2016-11-12 15:06  橘子红  阅读(3073)  评论(1编辑  收藏  举报