ホームページ >ウェブフロントエンド >jsチュートリアル >JS文字列を数値に変換する3つの方法_JavaScriptスキル

JS文字列を数値に変換する3つの方法_JavaScriptスキル

WBOY
WBOYオリジナル
2016-05-16 17:39:271148ブラウズ

主に 3 つの方法があります

js変数を利用した変換関数、強制型変換、弱い型変換。

1. 変換関数:

js は、parseInt() と parseFloat() という 2 つの変換関数を提供します。前者は値を整数に変換し、後者は値を浮動小数点数に変換します。 String 型でこれらのメソッドを呼び出すことによってのみ、これら 2 つの関数が正しく実行されます。他の型では NaN (Not a Number) が返されます。

いくつかの例を次に示します:

コードをコピーします コードは次のとおりです。

parseInt("1234blue"); // 1234
parseInt("0xA"); // 10
parseInt("22.5") を返します。 // 22
parseInt("blue") を返します。 // NaN
を返します。

parseInt() メソッドには、2 進数、8 進数、16 進数、またはその他の基本文字列を整数に変換できる基本モードもあります。ベースは parseInt() メソッドの 2 番目のパラメータで指定されます。例は次のとおりです。

コードをコピーします コードは次のとおりです。
parseInt("AF", 16); // 175
parseInt("10", 2); // 2
parseInt("10", 8) を返す // 8
parseInt("10", 10); 10

を返します 10 進数の先頭に 0 が含まれる場合は、誤って 8 進数値を取得しないように、基数 10 を使用することをお勧めします。例:

コードをコピーします コードは次のとおりです。
parseInt("010"); // 8
parseInt("010", 8); // 8
parseInt("010", 10) を返します。 // 10

を返します。 parseFloat() メソッドは parseInt() メソッドと同様に処理されます。

parseFloat() メソッドを使用する場合のもう 1 つの違いは、文字列が 10 進形式の浮動小数点数を表す必要があり、parseFloat() には基本モードがないことです。

次に、parseFloat() メソッドの使用例を示します。

コードをコピーします コードは次のとおりです。
parseFloat("1234blue"); // returns 1234.0
parseFloat("0xA"); // NaN
parseFloat("22.5") を返します。 // 22.5
parseFloat("22.34.5") を返します。 // 22.34
parseFloat を返します。 ("0908 "); // 908
parseFloat("blue") を返します。 // NaN

を返します。 2. 強制型変換

型キャストを使用して、変換された値の型を処理することもできます。特定の値にアクセスするには、それが別の型であっても、キャストを使用します。

ECMAScript で使用できるキャストの 3 つのタイプは次のとおりです。
Boolean(value) - 指定された値をブール型に変換します。
Number(value) - 指定された値を数値に変換します。整数または浮動小数点数);
String(value) - 指定された値を文字列に変換します。
これら 3 つの関数のいずれかを使用して値を変換すると、元の値から直接変換された値を格納する新しい値が作成されます。これにより、予期せぬ結果が生じる可能性があります。
Boolean() 関数は、変換される値が文字列、ゼロ以外の数値、または少なくとも 1 つの文字を含むオブジェクトである場合に true を返します (これについては次のセクションで説明します)。値が空の文字列、数値 0、未定義、または null の場合は、false を返します。

次のコード スニペットを使用して、ブール型キャストをテストできます。

コードをコピーします コードは次のとおりです。
Boolean(""); – 空の文字列
Boolean("hi"); //true – 空でない文字列
Boolean(100); //true – ゼロ以外の数値
Boolean(null);
Boolean(0); //false - ゼロ
Boolean(new Object()) //true - オブジェクト

Number() の強制は、値の一部ではなく値全体を変換することを除いて、parseInt() および parseFloat() メソッドと似ています。例は次のとおりです:

コードをコピー コードは次のとおりです:

使用法 0
数値(true) 1
数値(未定義) NaN
数値(null) 0
数値( "5.5 ") 5.5
数値( "56 ") 56
数値( "5.6. 7 ") NaN
数値(新しいオブジェクト()) NaN
数値(100) 100

最後のキャスト メソッド String() は、最も単純な例です。

コードをコピーします コードは次のとおりです。
var s1 = String(null) / /"null "
var oNull = null;
var s2 = oNull.toString(); //動作しないため、エラーが発生します

3. js 変数の弱い型変換を使用する

小さな例を挙げてみましょう。見ればわかります。

コードをコピー コードは次のとおりです:
<script><br>var str = '012.345 ';<br>var x = str-0;<br>x = x*1;<br></script>

上記の例は、js の弱い型の特性を利用し、算術演算のみを実行して文字列から数値への型変換を実現します。ただし、この方法は推奨されません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。