初来乍到,第一次写文章,其中也没有太多复杂技术,可能对初学者有所帮助。废话不多说,最近遇到一个问题,如何判断客户输入的商品数量是负数 或者是小数呢? 因为一个商品肯定是个整数,我需要对用户输入的值做一个判断。禁止输入负数和小数。那么在不借助任何框架的前提下 该怎么判断输入的值是float还是int呢?
方法1:
但是一开始我想到是 如果一个数是float类型,那取整之后肯定不再等于他本身;
因此有了这个方法:
var a = 1.3; alert(a != parseInt(a) );//当然Math.
ceil Math.floot 函数也可以做到。
网上大佬的方法:
看网上大神怎么做的。我看了之后觉得眼前一亮啊,绝啊!
例1:使用了~运算符,这个运算符作用就是 把后面是数字 取反减一并忽略小数部分var a =3.2; console.log(~3.2);//输出-4复制代码
console.log(~~a==a);//两个就是运算两次,输出如果是int类型 肯定不受影响 复制代码
例2:用%1,任何int%1 都是0,而float%1 就不等于0;
var a = 3.2;consol.log(a%1 !=0)//返回true 说明是float类型复制代码
例3:利用隐式转换 如果int加 string类型的小数 依然会隐式转换成number类型。而由于小数自身有一个点,再加一个string类型的小数,则会返回一个真正的string。
var a = 2; console.log(a+".3");//返回2.3 numbera ==2.3;console.log(a+".3");//返回2.3.3 string复制代码
大佬用的方法我也是吸收并推广,如果各位还有什么秒方法,请在评论里发表,我们一起交流一下。
初来乍到,还请各位多多关照。