Числа в JavaScript. Функция parseInt

Суббота, 12 Ноябрь 2016 18:37

Мы продолжаем статьи по изучению JavaScript и в этой статье мы с вами продолжим более подробно говорить о числах в JavaScript. В частности, мы больше узнаем о том, как привести значение к числу.

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

1.var a = '2',
2.b = '3';
3.a + b; // бинарный плюс, поскольку применяется к значению слева и справа
4.+a + +b; // а здесь идут унарный, бинарный и вновь унарный плюс
 

Пример выше в первом случае просто объединит числовые строки и мы получим не тот результат, который ожидали — строку 23. А вот во втором случае, используя унарный плюс, мы приводим обе числовые строки к числу и получаем нужный результат — число 5.

Однако на практике такой вариант не всегда нам подойдет. Ну например, мы работаем с картинкой на сайте и получили ее ширину и высоту в пикселях. Давайте попробуем сложить их, используя знакомое нам преобразование:

1.var width = '100px',
2.height = '200px';
3.console.log(+width + +height);
 

Но не тут то было. Если мы таким образом попытаемся привести строку к числу, то в результате получим знакомое нам NaN:

Использовать унарный плюс для преобразования строки, которая не является числовой строкой, не имеет смысла. Что же делать? Нам поможет функция parseInt(), которая преобразует строку в число до тех пор, пока это возможно. И сразу же примеры:

1.var width = '100px',
2.height = '200px';
3.console.log(parseInt(width) + parseInt(height));
 

И результат:

И еще пара примеров:

1.var x = '100px',
2.y = '200px',
3.z = '123abc456';
4.console.log(parseInt(x)); // 100
5.console.log(parseInt(y)); // 200
6.console.log(parseInt(z)); // 123
 

Обратите внимание на третий пример. Как и отмечалось выше, функция parseInt() преобразует строку в число до тех пор, пока это возможно. Как только в строке встречается нечисловой символ — преобразование останавливается. В результате в третьем примере мы видим не все цифры в строке, а только те, которые стоят до первой буквы.

 

Источник: http://webformyself.com/chisla-v-javascript-funkciya-parseint/