文字列を数値に変換する方法と処理速度
JavaScriptで文字列を数値に変換するには次のような方法が考えられます。
a = "123456789";
b = parseInt(a, 10);
b = parseFloat(a);
b = Number(a);
b = a - 0;
b = +a;
b = parseInt(a, 10);
b = parseFloat(a);
b = Number(a);
b = a - 0;
b = +a;
parseIntは整数に変換します。
parseFloatは浮動小数に変換します。
Numberは数値に変換します。new演算子を付けないと型変換になります。
4番目は文字列から0(ゼロ)を引きます。
5番目は文字列に「+」を付けます。
どれも同じ結果になりますが、スピードが違います。
Chrome(バージョン28)で確認しました。
方法 | 時間 |
---|---|
parseInt(a, 10) | 95 |
parseFloat(a) | 100 |
Number(a) | 43 |
a - 0 | 56 |
+a | 56 |
Numberが最も速い結果になりました。
parseIntとparseFloatが正攻法に思っていましたが、処理は遅いです。
文字列から数値を引く、文字列にプラス記号を付ける、というのは邪道に思えるのですが、速いです。
念のためIE(バージョン10)でも試してみました。
方法 | 時間 |
---|---|
parseInt(a, 10) | 100 |
parseFloat(a) | 83 |
Number(a) | 87 |
a - 0 | 76 |
+a | 72 |
文字列にプラスを付ける方法が最速でした。
ブラウザによっても速さに違いが出ます。
[ 2013年7月25日 | カテゴリー: JavaScript | タグ: parseInt , tips , 処理速度 , 変換 ]
« 土用の丑の日の意味 | オーストラリアに勝つ(東アジア杯2013) »
コメントを残す