Javascriptは数字をstringからnumberに変える5つの方式です.
2528 ワード
多くの場合、私達の数字は文字列の形式で、例えば:'1'、'3'、''2'、'4''といったように、入力ボックスから取得することができます.バックエンドからのインターフェースかもしれません.私たちは彼らを整形する義務があります.いくつかの案を紹介します.
1、パー秒Int
これはes 3ならではの文法です.使い方:
ParseIntと似ていますが、パーパーミッションは主に浮動小数点に対する変換です.
エス6が新しく出たインターフェースは直接使用できます.浮動小数点数にも有効です.
はい、直接に1を乗せればいいです.
これはバイナリの処理ですが、整数しか処理できません.浮動小数点に遭遇した場合、小数点以下は破棄されます.不正な文字が発生したら、直接に0に変換されます.ビットを押すか、または
余談をする
文字列配列の変換には、Numberの特性が利用できます.
1、パー秒Int
これはes 3ならではの文法です.使い方:
parseInt('123'); // 123 => number
jsバージョンがes 6に発展したとき、パーパーイントはNumberに移されました.もちろんです.元々のパーネットは引き続き使えます.Number.parseInt('123'); // 123 => number
数字の中に数字以外の文字を入れると、最初に不正な文字が出たところは切り捨てられます.Number.parseInt('1239y93p21'); // 1239 => number
2、パースFloatParseIntと似ていますが、パーパーミッションは主に浮動小数点に対する変換です.
parseFloat('123'); // 123 => number
Number.parseFloat('123'); // 123 => number
Number.parseFloat('123.4'); // 123.4 => number
不正な文字を断つルールがあります.Number.parseInt('1239.34y93p21'); // 1239.34 => number
Number.parseInt('12 39.34y93p21'); // 12 => number
3、Numberエス6が新しく出たインターフェースは直接使用できます.浮動小数点数にも有効です.
Number('123'); // 123 => number
Number('123.4'); // 123.4 => number
パーパーパー*()と違って、Numberで処理する場合は、不正な文字が発生し、直接NaNになりますので、NaNのタイプもnumberです.Number('123b'); // NaN => number
Number('123.4b'); // NaN => number
4、乗算+減算はい、直接に1を乗せればいいです.
'123' * 1; // 123 => number
'123.4' * 1; // 123.4 => number
‘123’ - 0; // 1234 => number
'123.4' - 0; // 123.4 => number
不正な文字に会ったら、直接NaNです.'123b' * 1; // NaN => number
注意:足し算は変換できないタイプです.文字列として連結されます.'123' + 0; // ’1230‘ => string
5、位別またはこれはバイナリの処理ですが、整数しか処理できません.浮動小数点に遭遇した場合、小数点以下は破棄されます.不正な文字が発生したら、直接に0に変換されます.ビットを押すか、または
32
に数字を変換するので、余分なビット数は直接に廃棄されます.したがって、ビットまたはサポートされた整数範囲は[pow(-2, 31), pow(2, 31) - 1]
である.'123' | 0; // 123 => number
'123.4' | 0; // 123 => number
'123rd' | 0; // 0 => number
a = Math.pow(2, 31) // 2147483648 <=> 10000000000000000000000000000000
a | 0 // -2147483648 => number
(a - 1) | 0 // 2147483647 => number
なぜ整数が負に変換されたのかというと、符号付きバイナリでは、最高位(32位)は1で、負の数を表しています.余談をする
文字列配列の変換には、Numberの特性が利用できます.
['1', '2', '3'].map(Number) // [1, 2, 3] => number[]
他にありますか?もし追加の歓迎メッセージがあれば.