关于数字取整、四舍五入


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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM