1. 金额统计:
/**
* 获取购物车商品总金额
*/
getTotalMoneyInCart: function () {
var totalMoney = 0;
var cart = getApp().globalData.cart;
for (var idx in cart) {
var itemMoney = (cart[idx].price * cart[idx].selectcount).toFixed(2);
//var itemMoney = (cart[idx].price * cart[idx].selectcount);
totalMoney += parseFloat(itemMoney);
}
totalMoney = totalMoney.toFixed(2); // 返回的金额一定要取2位精度 防止出现3.5600000000 出现。
console.log(totalMoney);
return totalMoney;
},
2. 后端Php代码 比较金额时用bccomp
if (bccomp($totalMoney,$cartAmount, 2) != 0) {
$result['msg'] = '总金额不匹配:';
$result['code'] = 0;
$this->ajaxReturn($result);
}
3. 前端JS代码比较金额用
// 正确做法
if (parseFloat(getApp().globalData.userInfo.amount) >= parseFloat(totalMoney)) {
// ...
}
// 错误
if (getApp().globalData.userInfo.amount > totalMoney) {
// ...
}