JavaScript: преобразование string в integer

2011-01-04

Преобразовать строку в целочисленное значение в JavaScript очень просто. Для этого есть специальная функция parseInt().

Пример:

var width = "640px";
var widthVal = parseInt(width, 10);
// widthVal = 640;

Также существует функция для преобразования в число с плавающей точкой (float) — parseFloat().

Примеры:

// parseInt():
var i = parseInt("100px", 10); // i=100
var i = parseInt("0xA"); //i=10
var i = parseInt("10.5", 10); // i=10
var i = parseInt("text 10", 10); // i=NaN
var i = parseInt("AF", 16); // i=175
var i = parseInt("10", 2); // i=2
var i = parseInt("10", 8); // i=8
var i = parseInt("10", 10); // i=10
var i = parseInt("010"); // i=8
var i = parseInt("010", 8); // i=8
var i = parseInt("010", 10); // i=10
// parseFloat():
var f = parseFloat("100px"); // f=100.0
var f = parseFloat("0xA"); // f=NaN
var f = parseFloat("10.5"); // f=10.5
var f = parseFloat("10.5.7"); // f=10.5
var f = parseFloat("0908"); // f=908
var f = parseFloat("text 10"); // f=NaN



5 комментариев на «JavaScript: преобразование string в integer»

  1. А из-за нестрогой типизации javascript, так еще проще:
    var width = «640px»;
    var widthVal = width-0;
    // widthVal = 640;

  2. Ага… Попробуйте:

    var checkNum = ’09’;
    alert(parseInt(checkNum));

    Думайте будет 9 Ага…

  3. Хотя вот так всё ок:

    alert(parseInt(’09’, 10));

    :)

  4. admin:

    Вообще этот пример был расмотрен в посте,
    var i = parseInt(«010»); // i=8
    но по умолчанию, всё же, используется десятичная система исчисления.
    Могу с вами согласится, что лучше указать явно, чтобы избежать подобных ситуаций.
    Подправил пост.

  5. Можно пользоваться бинарной операцией для гарантии получения целочисленного значения:

    function toInt(value) {
    return value << 0;
    }

Добавить комментарий