案例:限制本周接單金額為必填且不能小於0

1.數字0
vm.receiptMoney = 0
console.log(typeof vm.receiptMoney)//number
console.log(!vm.receiptMoney)//true
console.log((parseFloat(vm.receiptMoney)<0))//false
if(!vm.receiptMoney||(parseFloat(vm.receiptMoney)<0)){
Message({message: '本周接單金額為必填項,且不能小於0!',type: 'warning'});
return false;
}
2.字符串類型的0
vm.receiptMoney = 0
console.log(typeof vm.receiptMoney)//string
console.log(!vm.receiptMoney)//false
console.log((parseFloat(vm.receiptMoney)<0))//false
if(!vm.receiptMoney||(parseFloat(vm.receiptMoney)<0)){
Message({message: '本周接單金額為必填項,且不能小於0!',type: 'warning'});
return false;
}
比較:Number類型的0,取反時就說true; String類型的0,取反時就說false;顯然1中數字0中並不是想要的結果,而編輯單據的時候,后台返回的是一個Number類型的0
導致Number類型的0判斷成未填寫狀態,出現判斷出錯,
而重新編輯成0就不會出現錯誤,因為編輯后的0是String類型的0;如果不編輯就是默認后台傳過來的Number類型的0,導致出現判斷錯誤
處理:先將后台返回回來的Number類型的0轉成String類型的0,即:vm.receiptMoney = resData.receiptMoney + ' '
