Преобразование строчного типа данных в целое число JavaScript

| Категории: Javascript
Анна Аминева

Иллюстрация блокнота

Строчный тип данных

Чтобы преобразовать строчный тип данных в целое число вы, очевидно, можете использовать функцию parseInt.

parseInt('3', 10); // returns 3 parseInt('3.75', 10); // returns 3

Тем не менее, во многих случаях мы также можем использовать оператор отрицания, который обозначается тильдой “~”.

~~'3'; // returns 3 ~~'3.75'; // returns 3

Бинарные операции

При использовании бинарных операций операнды преобразовываются в 32 битные целые числа. Мы можем использовать такие операции для преобразования строчного типа данных в число, используя битовое отрицание два раза: вначале над исходной строкой (она будет преобразована в этот момент) и потом еще раз над результатом.

Учтите, что результаты такой операции не будут совпадать с выходом функции parseInt. Чтобы понять разницу, вы должны преобразовать строку, которая, в принципе, не выглядит как число, например: преобразование строки, которая начинается с букв.

1
2
3
parseInt('a', 10); // returns NaN parseInt({}, 10); // returns NaN parseInt('123abc', 10);
// returns 123 parseInt('abc123', 10); // returns NaN ~~'a'; // returns 0 ~~{}; // returns 0 ~~'123abc';
// returns 0 ~~'abc123'; // returns 0

Битовое целое число

Так же запомните, что 32 битовое целое число - это значение в пределах от −2 147 483 648 до +2 147 483 647. Это значит, что когда это число будет выходить за данные значения, то оно не будет автоматически преобразовано во что-то с более широким пределом.

parseInt('1387037027228', 10); // returns 1387037027228 ~~'1387037027228'; // returns -237409380

Спасибо за внимание и новых вам открытий!

Читайте так же статьи по теме: