/
Вопросы и ответы
/
JavaScript
/

Как перевести число в строку в Javascript?

Как перевести число в строку в Javascript?

3 года назад

Nikolai Gagarinov

Ответы

6

Чтобы преобразовать число в строку необходимо вызвать метод toString() у числа.

Пример:

1
2
const number = 5555;
const notNumber = number.toString();

теперь в notNumber находит не число, а строка. Проверить можно с помощью typeof

1
typeof notNumber; // 'string'

Также это сработает с отрицательными числами

1
2
3
const negative = -150;
const notNegativeNumber = negative.toString();
console.log(notNegativeNumber); // => '-150' - теперь это строка.

Из этого числа мы можем взять символ.

1
2
3
const firstChar = notNegativeNumber[0];

console.log(firstChar); // => '-'

3 года назад

Nikolai Gagarinov

2

String(number)

3 года назад

0

Число в строку переводит функция String():

1
2
3
const n = 42;
const s = String(n);
console.log(s, typeof s); // 42 string

String() работает и с null и undefined: вернёт 'null' и 'undefined'.

Другие способы

1
2
3
n.toString();   // '42'
`${n}`;         // '42' — шаблонная строка
n + '';         // '42' — сложение со строкой

toString() у null и undefined выдаст TypeError. У числового литерала нужны скобки или две точки: (5).toString() или 5..toString().

Нужное число знаков после запятой

1
2
const price = 1234.5;
price.toFixed(2); // '1234.50'

toFixed() округляет и возвращает строку. Учтите погрешность чисел с плавающей точкой: (1.005).toFixed(2) вернёт '1.00'.

Формат с разделителями разрядов

1
2
3
4
5
6
7
8
const sum = 1234567.891;

sum.toLocaleString('ru-RU'); // '1 234 567,891'

new Intl.NumberFormat('ru-RU', {
  style: 'currency',
  currency: 'RUB',
}).format(sum); // '1 234 567,89 ₽'

Разделитель разрядов в русской локали — неразрывный пробел. Если результат сравниваете со строкой в тестах, учитывайте это.

Другая система счисления

1
2
(255).toString(2);  // '11111111'
(255).toString(16); // 'ff'

Ведущие нули

1
String(7).padStart(3, '0'); // '007'

Обратно: строка в число

Number('42'), parseInt('42px', 10) → 42, parseFloat('3.14') → 3.14. Number('42px') вернёт NaN, parseInt читает цифры до первого нецифрового символа.

Типы данных и преобразования разбирают в бесплатном курсе «Основы JavaScript».

5 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845