在 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/