javascript如何判断是否为整数
时间:2021-04-22
来源:互联网
标签:
今天PHP爱好者给大家带来javascript判断是否为整数的方法:1、使用取余运算符判断;2、使用Math.round、Math.ceil、Math.floor判断;3、通过parseInt判断;4、通过位运算判断。希望对大家有所帮助。

本教程操作环境:windows7系统、javascript1.8.5版,DELL G3电脑。
javascript判断是否为整数的方法:
方式一、使用取余运算符判断
任何整数都会被1整除,即余数是0。利用这个规则来判断是否是整数。
function isInteger(obj) {
return obj%1 === 0
}
isInteger(3) // true
isInteger(3.3) // false
isInteger('') // true
isInteger('3') // true
isInteger(true) // true
isInteger([]) // true
对于空字符串、字符串类型数字、布尔true、空数组都返回了true。对这些类型的内部转换细节感兴趣的请参考:JavaScript中奇葩的假值
因此,需要先判断下对象是否是数字,比如加一个typeof
function isInteger(obj) {
return typeof obj === 'number' && obj%1 === 0
}
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
方式二、使用Math.round、Math.ceil、Math.floor判断
整数取整后还是等于自己。利用这个特性来判断是否是整数,Math.floor示例,如下
function isInteger(obj) {
return Math.floor(obj) === obj
}
isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
方式三、通过parseInt判断
function isInteger(obj) {
return parseInt(obj, 10) === obj
}
isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false、
//很不错,但也有一个缺点
isInteger(1000000000000000000000) // false
原因是parseInt在解析整数之前强迫将第一个参数解析成字符串。这种方法将数字转换成整型不是一个好的选择。
方式四、通过位运算判断
function isInteger(obj) {
return (obj | 0) === obj
}
isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
//这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力
isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了
方式五、ES6提供了Number.isInteger
Number.isInteger(3) // true
Number.isInteger(3.1) // false
Number.isInteger('') // false
Number.isInteger('3') // false
Number.isInteger(true) // false
Number.isInteger([]) // false
以上就是javascript如何判断是否为整数的详细内容,更多请关注php爱好者其它相关文章!
-
MSBuild是什么文件夹?可以删除吗? 时间:2025-10-25 -
ntdll.dll模块错误导致程序闪退的原因及解决方法 时间:2025-10-25 -
远程桌面端口号是多少 远程桌面端口怎么修改 时间:2025-10-25 -
什么是Windows PowerShell?PowerShell是干嘛的?PowerShell窗口怎么打开? 时间:2025-10-25 -
什么是Windows Server?Windows Server和Windows的区别 时间:2025-10-25 -
.NET Framework 3.5怎么下载和安装教程 时间:2025-10-25
今日更新
-
无限暖暖拾光季无名亦无我展示-奇想衣橱套装即将上线
阅读:18
-
以闪亮之名秘语遨游礼包上线-礼包售卖已限时特别开启
阅读:18
-
燕云十六声五人本试剑-本周煞地惊雷野排
阅读:18
-
跑步真好是什么梗?揭秘年轻人跟风打卡的快乐源泉
阅读:18
-
和平精英绝地指挥玩法升级-将新增游戏智能伙伴系统
阅读:18
-
币安欧易NFT市场独家合作艺术家揭秘
阅读:18
-
王者荣耀推出王者X未来同行计划-欢迎更多伙伴合作
阅读:18
-
如鸢左慈地宫璃魂月魄-地宫遗迹4怎么打文字版
阅读:18
-
无限暖暖拾光季-免费套装限时活动10月28日开启
阅读:18
-
重返未来:1999卡卡尼亚复刻-抽取建议养成配队
阅读:18










