在有一次用js写前端代码时,需求是输入的优惠价格不能超过原价,先在前端进行判断,却发现怎么也不进条件体。
var price = values.price;
var discountPrice = values.discountPrice;
if(discountPrice>=price){
showWarning('提示',"优惠价格不能超过原价");
return null;
}
console.log(typeof (price),typeof (discountPrice))
后来发现,用var 定义的变量都是string类型的,两个单纯的字符串之间的比较会变成ASCII码比较,依次取每个字符串,然后ASCII比较,比较出来的结果往往不是我们想要的。
我们现在所要做的就是将字符串类型的转换为数字类型的,可用parseInt(exp)转换为数字类型,再进行比较,就会达到我们希望的那样的结果了。如下:
var price = values.price;
var discountPrice = values.discountPrice;
if(parseInt(discountPrice)>=parseInt(price)){
showWarning('提示',"优惠价格不能超过原价");
return null;
}
其他的内容想看可戳: http://blog.csdn.net/m0_37479246/article/list