首页 > 代码库 > 微信小程序购物车产品计价

微信小程序购物车产品计价

微信小程序购物车产品计价:

问题:当选中商品,价格累加时会出现无限循环小数

解答:在计算前先parseFloat(变量),再计算的最后使用(变量).toFixed(2)保留两位小数

 

例如:

 jiaCart:function(e){
    var pid = e.currentTarget.id;
    var pic = parseFloat(e.currentTarget.dataset.pic);
    var cartList=this.data.cartList;
    var ex = false;
    for(var i=0;i<cartList.length;i++){
      if(cartList[i].pid==pid){
         cartList[i].num++;
         ex = true;
      }
    }
   if(!ex){
       this.data.cartList.push({ pid: pid, num: 1 });
   }
   var cartPics = (this.data.cartPic+pic).toFixed(2);
   this.setData({
      cartPic:parseFloat(cartPics),
      cartNum:this.data.cartNum+1,
      cartList:cartList
    });
},
jianCart:function(e){
  var pid = e.currentTarget.id;
  var pic = parseFloat(e.currentTarget.dataset.pic);
  var cartList=this.data.cartList;
  for(var i=0;i<cartList.length;i++){
    if(cartList[i].pid==pid){
    cartList[i].num--;
    if(cartList[i].num<=0){
      cartList.splice(i,1);
    }
  }
 }
  var showCart=this.data.cartNum;
  if(showCart==1 && (this.data.cartNum-1)<=0){
    this.setData({
       showCart:0
    });
  }
  var cartPics = (this.data.cartPic-pic).toFixed(2);
  this.setData({
    cartPic:parseFloat(cartPics),
    cartNum:this.data.cartNum-1,
    cartList:cartList
  });
}

微信小程序购物车产品计价