jir*_*kap 27 javascript numbers
如何测试变量以确定它是否包含数字,它是一个整数?
例如
if (1.589 == integer) // false
if (2 == integer) // true
Run Code Online (Sandbox Code Playgroud)
有线索吗?
Chr*_*oph 54
num % 1 === 0
Run Code Online (Sandbox Code Playgroud)
这将转换num为Numberfirst 类型,因此任何可以转换为整数的值都将通过测试(例如'42',true).
如果您想要排除这些,请另外检查
typeof num === 'number'
Run Code Online (Sandbox Code Playgroud)
你也parseInt()可以这样做,即
parseInt(num) == num
Run Code Online (Sandbox Code Playgroud)
对于无类别的支票和
parseInt(num) === num
Run Code Online (Sandbox Code Playgroud)
对于打印的支票.
请注意,测试不等效:检查via parseInt()将首先转换为String,因此例如true不会通过检查.
另请注意,无类型检查通道parseInt()将正确处理十六进制字符串,但对于八进制(即具有前导零的数字字符串)将失败,因为这些字符串被识别parseInt()但未被识别Number().如果需要使用前导零处理十进制字符串,则必须指定radix参数.