数字0和字符串类型的0的区别(坑位)

案例:限制本周接单金额为必填且不能小于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  +  ' '

转载于:https://www.cnblogs.com/cx709452428/p/10625561.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值