ホームページ >ウェブフロントエンド >jsチュートリアル >jsで文字列を数値に変換するにはどうすればよいですか?

jsで文字列を数値に変換するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-07-18 14:50:014600ブラウズ

文字列を数値に変換する JS メソッド: 1. 変換関数 parseInt() または parseFloat() を使用します; parseInt() は値を整数に変換でき、parseFloat() は値を浮動小数点数に変換できます。ポイント番号。 2. Number() 関数を使用して、オブジェクトの値を数値に変換します。

jsで文字列を数値に変換するにはどうすればよいですか?

方法 1: 変換関数 parseInt() または parseFloat() を使用する

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

parseInt

JsPerf.com のベンチマークによると、ほとんどのブラウザは parseInt に最もよく応答します。これが最も速い方法ではありますが、preseInt を使用すると、いくつかの一般的な落とし穴に遭遇します。

parseInt("08"); // returns 0 部分老浏览器.
parseInt("44.jpg"); // returns 44

parseInt: ベースが渡されない場合、デフォルトでは、渡されるベースは 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 44

parseFloat: 16 進数を変換するときは注意してください。変換するオブジェクトの種類がわからない場合は、parseFloat を使用しないでください。

方法 2: Number() 関数を使用する

Number() 関数は、オブジェクトの値を数値に変換します。変換できないオブジェクトの値が数値の場合、Number() 関数は NaN を返します。

#例:


var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new String("999");
var test4= new String("999 888");

document.write(Number(test1)+ "<br />");
document.write(Number(test2)+ "<br />");
document.write(Number(test3)+ "<br />");
document.write(Number(test4)+ "<br />");

出力;


1
0
999
NaN

#方法 3: js 変数の弱い型変換を使用する
小さな例を挙げてみましょう。見ればわかります。

var str= &#39;012.345 &#39;;
var x = str-0;
x = x*1;

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


推奨チュートリアル: 「

JavaScript ビデオ チュートリアル

以上がjsで文字列を数値に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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