首页 > 代码库 > 关于数字取整、四舍五入

关于数字取整、四舍五入

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

产品价格为有两位小数的浮点数,在购物车页面上从后台获取数据商品数量及商品价格,在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="http://www.mamicode.com/${p.did}" />
        <div><img src=http://www.mamicode.com/${p.picmid} />
"${p.purl}">${p.pname}</a></td> <td>${p.price}</td> <td> <button>-</button><input type="text" value="http://www.mamicode.com/${p.count}"/><button>+</button> </td> <td><span id="total">${(p.price*p.count).toFixed(2)}</span></td> <td><a id="delete" href="http://www.mamicode.com/${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"

 

关于数字取整、四舍五入