Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как преобразовать строку в число

Короткий ответ

Функция Number() преобразует всю строку целиком:

console.log(Number('42') + 1);

Результат:

43

Строка с лишними символами

Number() для такой строки вернёт NaN, а parseInt() и parseFloat() разберут цифры в начале:

console.log(Number('42px'));
console.log(parseInt('42px', 10));
console.log(parseFloat('3.14em'));

Результат:

NaN
42
3.14

Проверить результат

Значение NaN не равно даже самому себе, поэтому его проверяют через Number.isNaN():

const value = Number('abc');
 
console.log(Number.isNaN(value));

Результат:

true

Унарный плюс

+ перед значением работает как Number(). Это коротко, но Number() читается проще:

const input = '15';
 
console.log(+input + 5);

Результат:

20

Частая ошибка

Значения из форм — строки, и + со строкой склеивает, а не складывает. Преобразуйте до вычислений:

const quantity = '2';
 
console.log(quantity + 1);
console.log(Number(quantity) + 1);

Результат:

21
3

Функции из этого ответа

  • Number() — Превращает значение в число.
  • parseInt — Преобразует строку в целое число.
  • parseFloat — Читает дробное число из начала строки.
  • Number.isNaN — Проверяет, что значение — NaN, без преобразования типов.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.