Number.isInteger()判断一个数值是否为整数报错问题及解决
作者:周杰伦_
这篇文章主要介绍了Number.isInteger()判断一个数值是否为整数报错问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Number.isInteger()判断一个数值是否为整数报错
为啥我输入JobNumber为13787870101为报“工号必须是纯数字”?
- NumberUtil.isInteger(String str) 实际上是判断这个字符串是否可以被 安全地解析为 Java 的 Integer 类型(即 32 位有符号整数)。
- NumberUtil.isInteger(“13787870101”) 返回 false,是因为它超出 Integer 的最大范围,而不是因为它不是纯数字。
解决方法
可以使用:
if (!StrUtil.isNumeric(excelUserDto.getJobNumber())) { describe.append("工号必须是纯数字").append("\r\n"); }
或者使用正则:
if (!excelUserDto.getJobNumber().matches("\\d+")) { describe.append("工号必须是纯数字").append("\r\n"); }
Number对象的isInteger()方法
Number 对象中的 isInteger() 方法用来判断传入的参数是否为整型。
- 如果传入的参数为整数,则返回 true,除此之外,返回 false。
- 如果传入的参数为 NaN 或 Infinity,也是返回 false。
Number.isInteger(1); // true Number.isInteger(0); // true Number.isInteger('2'); // false Number.isInteger(NaN); // false Number.isInteger([]); // false Number.isInteger([1]); // false Number.isInteger({}); // false Number.isInteger(Infinity); // false
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。