关于JavaScript如何判断数字是float仍是integer

     初来乍到,第一次写文章,其中也没有太多复杂技术,可能对初学者有所帮助。废话很少说,最近遇到一个问题,如何判断客户输入的商品数量是负数 或者是小数呢? 由于一个商品确定是个整数,我须要对用户输入的值作一个判断。禁止输入负数和小数。那么在不借助任何框架的前提下 该怎么判断输入的值是float仍是int呢?bash

方法1:框架

      可是一开始我想到是 若是一个数是float类型,那取整以后确定再也不等于他自己;函数

所以有了这个方法:ui

     var a = 1.3; alert(a != parseInt(a) );//固然Math.ceil  Math.floot 函数也能够作到。spa

网上大佬的方法:code

      看网上大神怎么作的。我看了以后以为眼前一亮啊,绝啊!string

   例1:使用了~运算符,这个运算符做用就是 把后面是数字 取反减一并忽略小数部分

var a =3.2; console.log(~3.2);//输出-4复制代码

console.log(~~a==a);//两个就是运算两次,输出若是是int类型 确定不受影响 复制代码

    例2:用%1,任何int%1 都是0,而float%1 就不等于0;it

var a = 3.2;consol.log(a%1 !=0)//返回true 说明是float类型复制代码

   例3:利用隐式转换 若是int加 string类型的小数 依然会隐式转换成number类型。而因为小数自身有一个点,再加一个string类型的小数,则会返回一个真正的string。console

var a = 2;
 console.log(a+".3");//返回2.3  number

a ==2.3;
console.log(a+".3");//返回2.3.3  string复制代码

大佬用的方法我也是吸取并推广,若是各位还有什么秒方法,请在评论里发表,咱们一块儿交流一下。class

初来乍到,还请各位多多关照。

相关文章
相关标签/搜索