代码描述:javascript判断变量 是否是整数。javascript判断变量是否是整数代码下载
本章节介绍一下如何判断一个变量是否是数字,这在实际应用中有着比较实际的用处。实现的方法有很多,这里就给出比较常见的两种,希望有需要的朋友可以做一下借鉴,直接看代码。 代码实例: 实例一:
<script> var a="12"; var b=12; function done(num) { return (typeof num === 'number') && (num % 1 === 0); } console.log(done(a)); console.log(done(b)); </script>
返回值是true,则说明参数是整数,如果返回值是false,则说明参数不是整数,下面介绍一下它的原理。 typeof num === 'number'可以判断是否是数值类型,如果不是,则直接返回false,但是这还不够,因为还存在着浮点数的可能,num % 1 === 0这个求余运算,只有整数和1求余返回值是0。 实例二:
<script> var a="12"; var b=12; function done(num) { return Math.round(num) === num; } console.log(done(a)); console.log(done(b)); </script>
上面的代码也可以完美的实现我们的要求,也非常的巧妙,Math.round()函数可以将数字转换为整数,对于数字字符串也是如此,经过转换之后如果还和最初传递的值相同,那么就可以说明它是整数。 最后完善: 上面的代码还是有一个缺陷,如果参数传递的是一个Number对象的话,就不能进行正确判断了,下面对代码进行一下改善。 代码如下:
<script> var a="12"; var b=12; var obj=new Number(13); function done(num){ if(Object.prototype.toString.call(num).slice(8,-1)=="Number"){ if(num.toString()%1===0){ return true; } } return false; } console.log(done(a)); console.log(done(b)); console.log(done(obj)); </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能