typescript - 在 Typescript 中,如何检查字符串是否为数字

标签 typescript

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

相关文章:

javascript - 使用 angular 和 css 从数组数组创建自定义网格

typescript - 如何使用 TypeORM 在 React-Native 中处理 SQLite 迁移?

node.js - 在服务器上找不到模块 '../models/user' Node.js

typescript - Typescript 中的后代类中的方法重载

reactjs - 如何在 React 项目中集中快照文件夹?

angular - 在 Angular Route 中传递 int 数组

具有嵌套函数的现有 jQuery 插件的 Typescript 定义

angular - 将 TypeMoq Mock 与 Angular TestBed 结合使用

angular - 无法从 Webpack 配置向 Angular 2 提供环境变量

javascript - mock fs.readFile - 单元测试