在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
将字符串转换为数字的方法是使用number,而不是parseFloat。
Number('1234') // 1234
Number('9BX9') // NaN
如果你喜欢速记,你也可以使用一元加号运算符:
+'1234' // 1234
+'9BX9' // NaN
检查NaN时要小心(运算符===和!==不能像NaN那样工作)。使用:
isNaN(+maybeNumber) // returns true if NaN, otherwise false