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) {
// ...
}