Использование метода ParseInt

Функция ParseInt предназначена для преобразования в JavaScript строки в число. Метод принимает в качестве аргумента строчное значение и преобразует его в число без знаков после запятой, или в качестве альтернативы выдается значение NaN. ParseInt принимает два аргумента. Второй параметр определяет систему исчисления, которая будет использоваться при преобразовании значения строки в число.

Пример с использованием десятичной системы исчисления

Простой пример с использованием десятичной системы исчисления выглядит следующим образом:

<span style="font-weight: 400;">var x = "1";</span>

<span style="font-weight: 400;">console.log(x, typeof x); //1 строка</span>

<span style="font-weight: 400;">x = parseInt(x, 10);</span>

<span style="font-weight: 400;">console.log(x, typeof x); //1 число</span>

<a href="http://codepen.io/anon/pen/NNVryN?editors=0010" target="_blank">Онлайн пример кода</a>

Если для значения системы исчисления аргумент не передается, будет использоваться значение по умолчанию (базовая десятичная система). Также можно задать значение 2, чтобы указать функции использовать двоичную систему исчисления. Значение 8 указывает ParseInt использовать восьмеричную систему, а значение 16 указывает - шестнадцатеричную. Для систем исчисления с основанием больше 10 вместо чисел больше 9 используются буквы алфавита.

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

<span style="font-weight: 400;">var x = 10;</span>

<span style="font-weight: 400;">x = parseInt(x, 2);</span>

<span style="font-weight: 400;">console.log(x); //2</span>

<a href="http://codepen.io/anon/pen/oxRLJV?editors=0010" target="_blank">Онлайн пример кода</a>

Переменная х получает значение 10. В двоичной системе значение 10 (то есть, "один, ноль") эквивалентно 2 в десятичной системе. Мы передали в функцию ParseInt 10 и указали в качестве системы исчисления двоичную. Функция вернула значение 2, которое является целым числом, эквивалентным "один, ноль".

А что произойдет, если мы передадим в функцию ParseInt десятичное число с одним или несколькими знаками после запятой? Давайте посмотрим:

<span style="font-weight: 400;">var x = 3.14;</span>

<span style="font-weight: 400;">x = parseInt(x, 10);</span>

<span style="font-weight: 400;">console.log(x); //3</span>

<a href="http://codepen.io/anon/pen/bpyeZw?editors=0010" target="_blank">Онлайн пример кода</a>

Функция ParseInt приняла числовое значение со знаками после запятой и привела его к целому. Но, что если нужно осуществить в JavaScript преобразование строки в число? Вот пример:

<span style="font-weight: 400;">var x = "Hola World!";</span>

<span style="font-weight: 400;">x = parseInt(x, 10);</span>

<span style="font-weight: 400;">console.log(x); //NaN ...или Not a Number</span>

<a href="http://codepen.io/anon/pen/ONYXGN?editors=0010" target="_blank">Онлайн пример кода</a>

Если в ParseInt передается аргумент, который не может быть просто преобразован в числовое значение, то возвращаемое значение будет - NaN (или не число). Если в функцию передается сочетание числовых и буквенных строковых значений, то она будет преобразовывать числовые символы в целые числа и отбрасывать остальные:

<span style="font-weight: 400;">var x = "123UnoDosTres";</span>

<p style="text-align: center;"><a class="mb-button mb-style-raised mb-size-default mb-corners-default mb-text-style-default " style="background-color: #ba4033;" href="https://appendto.com/courses/javascript/">Explore JavaScript Courses</a></p>

<span style="font-weight: 400;">x = parseInt(x, 10);</span>

<span style="font-weight: 400;">console.log(x); //123</span>

<a href="http://codepen.io/anon/pen/EKzyze?editors=0010" target="_blank">Онлайн пример кода</a>

Это основные принципы использования функции ParseInt. Следует помнить, что основная цель ParseIntJavaScript перевод строки в число (без знаков после запятой). Также можно указать систему исчисления, которую нужно использовать. Если функции передается значение, которое не может быть преобразовано в число, то ParseInt возвращает значение NaN.

Дополнительную информацию о JavaScript-функции ParseInt можно найти здесь.

Вадим Дворниковавтор-переводчик статьи «Using the JavaScript ParseInt Method»