129

任意の数、それは数です。文字列は数字のように見えます、それは数字です。他のすべて、それはNaNに行きます。

'a' => NaN
'1' => 1
1 => 1
4

9 に答える 9

201

私の知る限り、それを行うには4つの方法があります。

Number(x);
parseInt(x, 10);
parseFloat(x);
+x;

私が行ったこの簡単なテストでは、実際にはブラウザによって異なります。

http://jsperf.com/best-of-string-to-number-conversion/2

Implicit3つのブラウザで最速とマークされていますが、コードが読みにくくなっています…だから、好きなものを選んでください!

于 2012-10-12T15:43:07.487 に答える
8

文字列を整数に変換する簡単な方法は、次のようにビットごとの or を使用することです。

x | 0

+x実装方法によって異なりますが、理論的には、最初に数値にキャストxしてから非常に効率的な or を実行するため、比較的高速 (少なくとも と同じくらい) である必要があります。

于 2014-06-27T22:16:31.533 に答える
4

これを行う簡単な方法は次のとおりです。 var num = Number(str); この例では、 strは文字列を含む変数です。Google chrome 開発者ツールを開いてテストし、動作を確認してから、コンソールに移動して次のコードを貼り付けます。コメントを読んで、変換がどのように行われるかをよりよく理解してください。

// Here Im creating my variable as a string
var str = "258";


// here im printing the string variable: str
console.log ( str );


// here Im using typeof , this tells me that the variable str is the type: string
console.log ("The variable str is type: " + typeof str);


// here is where the conversion happens
// Number will take the string in the parentesis and transform it to a variable num as type: number
var num = Number(str);
console.log ("The variable num is type: " + typeof num);
于 2016-07-02T05:46:20.470 に答える
0

最も速い方法は -0 を使用することです:

const num = "12.34" - 0;
于 2020-03-31T16:12:47.527 に答える