小编典典

在打字稿中,如何检查字符串是否为数字

all

在打字稿中,这显示一个错误,说 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;
}

阅读 79

收藏
2022-05-12

共1个答案

小编典典

将字符串转换为数字的方法是 with Number,而不是parseFloat

Number('1234') // 1234
Number('9BX9') // NaN

如果您喜欢速记,也可以使用一元加号运算符:

+'1234' // 1234
+'9BX9' // NaN

检查 NaN 时要小心(操作符===!==不按预期工作NaN)。采用:

 isNaN(+maybeNumber) // returns true if NaN, otherwise false
2022-05-12