[解決済み】Typescriptで、文字列がNumericであるかどうかを確認する方法
2022-04-04 03:29:13
質問
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エラー TS1005: ';' が予想される (II)
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] TypeScriptでオブジェクトに動的にプロパティを割り当てるには?
-
[解決済み] TypeScriptで文字列をenumに変換するには?
-
[解決済み] Typescript によるインターフェース型チェック
-
[解決済み】TypeScriptのインターフェースと型について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angular 2の@ViewChildアノテーションがundefinedを返す
-
[解決済み] 型{ [key: string]: boolean; }は何を意味するのでしょうか?
-
[解決済み] TypeScriptのハッシュマップ/辞書インターフェイス
-
[解決済み] なぜTypescriptではinferキーワードが必要なのでしょうか?
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] Typescript は ?演算子をサポートしていますか?(そして、それは何と呼ばれているのでしょうか?)
-
[解決済み] ジェネリックスを使用したTypescriptのarrow関数の構文はどのようになっていますか?
-
[解決済み】TypeScriptの "not assignable to parameter of type never "エラーとは?
-
[解決済み】TypeScriptのコンパイルでExperimental decoratorsの警告が出る。
-
[解決済み】typeof NaNが'数字'を返すのはなぜ?