Найти тему

Преобразование числа в строку в JavaScript

В JavaScript, как и во многих других современных языках программирования (например, Python, и, не удивляйтесь - в современном Паскале тоже) почти всё является объектом. Поэтому почти к любому элементу языка применимы приёмы объектно-ориентированного программирования. И сегодня расскажу об одном таком приёме в JavaScript, который можно использовать для преобразования числа в строку.

Вообще во многих случаях в JavaScript не требуется каких-то дополнительных действий для преобразования числа в строку или наоборот. Потому что это происходит автоматически, исходя из содержимого кода. Например:

var x = 10;
alert('У меня есть ' + x + ' яблок');

Здесь нет ошибки. Код выведет сообщение:

Потому что JavaScript понимает, что надо выводить строку, и преобразует целочисленное значение переменной х в строку.

Обратное преобразование тоже возможно:

var z = "10";
alert(z + 0);

Здесь мы сложили строку “10” с числом 0. JavaScript предположил, что вы хотели получить в итоге строку, и преобразовал число 0 в символ (строку), и в итоге будет выведена строка “100”.

Таким образом JavaScript всегда пытается выполнить преобразование типа и привести его к тому типу, который наиболее логичен в данном контексте (обычно всё преобразуется в строки).

Если вы просто хотите преобразовать число в строку, то можно сделать, например, так:

var N = 13;
var S = N + "";

то есть просто сложить число с пустой строкой.

Для явного преобразования числа в строку используется функция Sting():

var N = 13;
var S = String(N);

А ещё один способ преобразования числа в строку - использование метода toString():

var N = 13;
var S = N.toString();

Это как раз то, о чём я говорил в начале статьи - практически всё в JavaScript является объектом. И почти у всех объектов есть свойства и методы. А все числовые переменные являются объектом Number.

В метод toString() ещё можно передавать параметр - основание системы счисления. По умолчанию число преобразуется в десятичное. Но можно преобразовать число в строку, где оно будет представлено в другой системе счисления - в двоичной, восьмеричной или шестнадцатеричной:

var N = 100;
alert('dec = ' + N.toString() + '\n' +
'bin = ' + N.toString(2) + '\n' +
'oct = ' + N.toString(8) + '\n' +
'hex = ' + N.toString(16));

Этот пример выведет следующее:

-2

На этом пока всё. Чуть больше сведений о преобразованиях можете найти здесь.

Подписывайтесь на канал, чтобы ничего не пропустить.

Наука
7 млн интересуются