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