在 Typescript 中,这会显示一个错误,指出 isNaN 只接受数值
isNaN('9BX46B6A')
这将返回 false 因为
parseFloat('9BX46B6A')
评估为 9
isNaN(parseFloat('9BX46B6A'))
我仍然可以在 Visual Studio 中显示错误的情况下运行,但我想以正确的方式进行。
目前,我已经编写了这个修改后的函数 -
static isNaNModified = (inputStr: string) => {
var numericRepr = parseFloat(inputStr);
return isNaN(numericRepr) || numericRepr.toString().length != inputStr.length;
}
最佳答案
将字符串转换为数字的方法是使用 Number
,而不是 parseFloat
。
Number('1234') // 1234
Number('9BX9') // NaN
如果您喜欢速记,也可以使用一元加运算符:+'1234' // 1234
+'9BX9' // NaN
检查 NaN 时要小心(操作符 ===
和 !==
与 NaN
不按预期工作)。采用: isNaN(+maybeNumber) // returns true if NaN, otherwise false
关于typescript - 在 typescript 中,如何检查字符串是否为数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23437476/