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

10-12 14:24