ホームページ >ウェブフロントエンド >jsチュートリアル >文字列を数値に変換する方法は何ですか?
推奨チュートリアル: JS チュートリアル
JavaScript は魔法の言語である文字列があります。数値を変換する 5 つの方法、それぞれに落とし穴がある! 次にこの記事では、JavaScript の文字列を数値に変換する 5 つの方法とその落とし穴を紹介します。興味のある友達は一緒に見てください
# #どれにするか、1種類はどうでしょうか?いつ選択するのですか?なぜこのようなものを選ぶのでしょうか?それらを 1 つずつ検討し、各アプローチに共通する落とし穴を分析します。parseInt
JsPerf.com のベンチマークによると、ほとんどのブラウザは parseInt に最もよく応答します。これは最も速い方法ですが、preseInt を使用するときによくある落とし穴がいくつかあります。parseInt('08') // returns 0 部分老浏览器. parseInt('44.jpg') // returns 44ParseInt: ベースが渡されない場合、デフォルトでは、渡されるベースは 10 parseInt(num, 10) です。 num 属性の型がわからない場合は、parseInt を使用して文字列を数値に変換しないでください。
parseFloat
16 進数を解析しない場合、これは非常に良い選択です。例:parseInt(-0xFF) // returns -255 parseInt("-0xFF") // returns -255 parseFloat(-0xFF) // returns -255 parseFloat("-0xFF") // returns 0
注: 文字列内の負の 16 進数は特殊なケースであり、parseFloat で解析すると、結果は不正確になります。プログラム内で NaN の状況を回避するには、変換された値を確認する必要があります。
parseFloat('44.jpg') // return 44parseFloat: 16 進数を変換するときは注意してください。変換するオブジェクトの種類がわからない場合は、parseFloat を使用しないでください。
ビット単位ではありません
文字列を整数に変換することはできますが、それは浮動小数点数ではありません。文字列変換の場合は0を返します;~~1.23 // returns 1 ~~"1.23" // returns 1 ~~"23" // returns 23 ~~"Hello world" // returns 0原理は何でしょうか?反転することにより) 各ビット。数値の A1 補数とも呼ばれます。これを使用することもできますが、整数を格納するためにのみ使用できることに注意してください。したがって、数値が 32 ビット整数の範囲内にあることが確認できない限り、通常は使用しないでください (ToInt32 を呼び出す仕様のため)。
ビット単位の NOT: これを使用して、入力に文字が含まれておらず、整数のみであることを確認します。
Number
Number には、上記の変換方法と同じ問題があり、解析するときに、指定された数値を見つけようとします。 :Number("023") // returns 23 Number(023) // returns 19
注: 023 は実際には 8 進数であり、何をしても 19 が返されます。一重引用符や二重引用符のない 16 進数にも同じことが当てはまります。
Number は、JsPerf の中で最も遅いものの 1 つです。 番号: ほとんど使用しません。単項クラウド演算子
"1.23" * 1 // returns 1.23 "0xFF" - 0 // returns 255 "0xFF.jpg" / 1 // returns NaN +"023" // returns 23単項演算子は他の解析メソッドとは異なります。NaN 値の場合、戻り値は次のようになります。 NaN も。これは、数値を変換する私のお気に入りの方法です。文字を含むオブジェクトは 0 として扱われたり、ビット数に基づいて「推測」されたりするべきではないと考えているからです。この方が混乱が少ないため、私は基本的に演算子を使用します。 -0 を使用するのは問題ありませんが、数値に変換する意図が十分に伝わりません。
文字列を数値に変換する方法のまとめ
負の16進数の文字列を数値に変換する場合。最初に String に変換し (例: "" )、次に単項演算子または基数を指定した parseInt を使用して数値に解析する必要があるもの。ただし、結果が NaN 値ではない場合は、parseFloat を使用する方が適切です。以上が文字列を数値に変換する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。