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;
}

ベストアンサー1

文字列を数値に変換するにはNumber、 ではなく を使用しますparseFloat

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

省略形がお好みの場合は、単項プラス演算子を使用することもできます。

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

NaN をチェックする場合は注意してください (演算子===!==は では期待どおりに動作しませんNaN)。次を使用します。

 isNaN(+maybeNumber) // returns true if NaN, otherwise false

おすすめ記事