4 простых способа преобразовать строку JavaScript в число

Необходимость проверить, является ли строка числом, а затем преобразовать ее в число, часто возникает при кодировании на JavaScript. Если вы решили более 5 задач по leetcode, то вы знаете, о чем я говорю! 😅

Это также очень полезно при кодировании приложений. Классический пример — приложение-калькулятор, где вы принимаете значения от пользователей в виде строк, и вам нужно проверить, являются ли эти значения действительными числами (или операторами).

Как проверить, является ли строка числом?

Существует метод JavaScript с забавным названием isNaN(str). Что переводится как «не является числом». Он возвращает true, если str не является числом, и false, если является.

Если мы используем !isNaN(str), мы получим true, если str является числом…..

!isNaN('👾123') // => false
!isNaN('😺') // => false
!isNaN('456') // => true

// works for floats too
!isNaN('-2.5') // => true
Вход в полноэкранный режим Выход из полноэкранного режима

Отлично, теперь как преобразовать строку в число?

Существует 4 способа преобразования строки в число (если это число).

ПРЕДУПРЕЖДЕНИЕ: Если строка НЕ является числом, НЕ пытайтесь преобразовать ее в число, потому что вы получите либо NaN обратно, либо иногда 0, если вы преобразуете пустую строку или пробел в число. Удачи в поиске ошибки в вашем коде! ** 🤬

*Поэтому ВСЕГДА проверяйте, является ли это числом, используя !isNaN(str) ПЕРВЫМ. *

Понятно? Круто! Давайте напечатаем convert:

// for integers
+'456' // => 456
parseInt('456') // => 456 
Number('456') // => 456

// for floating point numbers
+'-2.600' // => -2.6
parseFloat('-2.600') // => -2.6 
Number('-2.600') // => -2.6

Войти в полноэкранный режим Выйти из полноэкранного режима

Обратите внимание, что parseInt(...) работает ТОЛЬКО для целых чисел, если вы передадите ему число с плавающей точкой, он отрежет все, что находится после ., поэтому parseInt('-2.6') станет -2.

Как удалить нули из числа с плавающей запятой в конце (и в начале)

Обратите внимание, что я добавил несколько нулей в конце -2.6 Я сделал это, чтобы проиллюстрировать кое-что интересное: *при преобразовании типа строки в число с плавающей запятой все ненужные нули с плавающей запятой, которые идут после и перед, будут удалены. *

Это очень полезно.

Например:

+'-000002.600' // => -2.6
Войти в полноэкранный режим Выйти из полноэкранного режима

Связанный трюк: если у вас есть число с большим количеством нулей в конце, от которых вы хотите избавиться, просто преобразуйте его в строку, а затем обратно в число с помощью +:

const annoyingNumber = 1.230000000000;

const cleanNumber = +annoyingNumber.toString();

console.log(cleanNumber); // => 1.23
Вход в полноэкранный режим Выход из полноэкранного режима

😎

Мой любимый вариант преобразования из строки в число в JavaScript?

Мой любимый вариант — оператор +. Он состоит всего из одного символа, это должно понравиться! 😻

А какой у вас любимый?

Если вам понравилась эта статья, пожалуйста, загляните в мой блог
Indepth JavaScript для более познавательного контента. 🤓

Оцените статью
devanswers.ru
Добавить комментарий