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



Answers

parseInt関数を試してください:

var number = parseInt("10");

しかし問題がある。 parseInt関数を使用して "010"を変換しようとすると、8進数として検出され、8が返されます。したがって、基数(2〜36)を指定する必要があります。 この場合、ベース10。

parseInt(string, radix)

例:

var result = parseInt("010", 10) == 10; // Returns true

var result = parseInt("010") == 10; // Returns false
Question

JavaScriptでstringintegerに変換するにはどうすればよいですか?




parseIntを使用して浮動小数点数を科学表記に変換する場合は注意してください。 例えば:

parseInt("5.6e-14") 

結果は

5 

の代わりに

0



上記のすべてが正しいです。 その前に、これは文字列内の数字であることを確認してください。 "typeot x === 'number'"それ以外の場合はNaN

 var num = "fsdfsdf242342";
 typeof num => 'string';

 var num1 = "12423";
 typeof num1 => 'number';
 +num1 = > 12423`



もう一つの選択肢は、値をそれ自身でXORすることです。

var i = 12.34;
console.log('i = ' + i);
console.log('i ⊕ i ⊕ i = ' + (i ^ i ^ i));

これは出力されます:

i = 12.34
i ⊕ i ⊕ i = 12



ParseInt()と+は異なります

parseInt("10.3456") // returns 10

+"10.3456" // returns 10.3456






下記の例を参照してください。疑問を解決するのに役立ちます

Example                  Result

parseInt("4")            4
parseInt("5aaa")         5
parseInt("4.33333")      4
parseInt("aaa");         NaN (means "Not a Number")

parseint関数を使うことで、文字列ではなく整数だけのopを与える




Googleが結果としてこの回答をくれましたので、...

私は実際には文字列を整数として保存する必要がありました.CとJavaScriptの間のバインディングのために、文字列を整数値に変換します:

/*
    Examples:
        int2str( str2int("test") ) == "test" // true
        int2str( str2int("t€st") ) // "t¬st", because "€".charCodeAt(0) is 8364, will be AND'ed with 0xff
    Limitations:
        max 4 chars, so it fits into an integer
*/
function str2int(the_str) {
    var ret = 0;
    var len = the_str.length;
    if (len >= 1) ret += (the_str.charCodeAt(0) & 0xff) <<  0;
    if (len >= 2) ret += (the_str.charCodeAt(1) & 0xff) <<  8;
    if (len >= 3) ret += (the_str.charCodeAt(2) & 0xff) << 16;
    if (len >= 4) ret += (the_str.charCodeAt(3) & 0xff) << 24;
    return ret;
}
function int2str(the_int) {
    var tmp = [
        (the_int & 0x000000ff) >>  0,
        (the_int & 0x0000ff00) >>  8,
        (the_int & 0x00ff0000) >> 16,
        (the_int & 0xff000000) >> 24
    ];
    var ret = "";
    for (var i=0; i<4; i++) {
        if (tmp[i] == 0)
            break;
        ret += String.fromCharCode(tmp[i]);
    }
    return ret;
}



parseInt(stringOfNumber)を使用する代わりに+(stringOfNumber)を使用できparseInt(stringOfNumber)

例: +("21")は、 parseInt("21")ようにintの21を返します。

floatの解析にもこの単項演算子を使うことができます。




parseIntを試してください。

var number = parseInt("10", 10); //number will have value of 10.



Related