Методы преобразования строк в число
В JavaScript применяются следующие типы данных:
Number | Числа с плавающей запятой. В отличии от большинства других языков не имеют разделения по типу числа (целое, с запятой и т.д.). |
String | Строка, текст. Этот тип данных всегда заключается в скобки (одинарные). |
Boolean | Имеет два значения: true (истина) и false (ложь). В цифровом варианте это 1 и 0 соответственно. |
undefined | Не определённый тип данных. Устанавливается для переменных, которым ещё не присвоено значение. По отношению к числам (Number) это значение выглядит как NaN. |
null | Нулевое, пустое значение. |
Symbol | Символ. |
JavaScript - динамически типизированный язык. Что это значит?
Это значит, что в отличии от многих других языков, при объявлении переменной не нужно указывать её тип: это производится автоматически, причём каждый раз, когда переменная встречается в скрипте. Это значит, что одной и той же переменной в процессе выполнения программы могут присваиваться значения любых других типов.
Стоит обратить внимание, что в выражениях с применением знака "+" в случае наличия разных типов данных (строка и число) результат будет выведен как строка; с другими операторами этого не происходит:
1 "100" + 30 // результат: "130" (строка!)
2 "100" - 30 // результат: 70 (число)
Как видно из комментариев, в первой строке результат выдаётся в качестве строки (String), а во втором - числа (Number).
Методы преобразования строк в число
Если число, записанное в виде строки (String) необходимо преобразовать в числовой тип данных (Number), применяется метод parseInt(a, b). В качестве значения a указывается число в виде строки, а в качестве значения b указывается число от 2 до 36 - это основание системы счисления для значения a; обычно это 10 - десятичная система, но может быть и другая. Стоит иметь в виду, что отсутствие данного параметра может привести к ошибкам.
1 parseInt("100", 10) // результат: 100 (число!)
Так же можно воспользоваться методом parseFloat(a), где в качестве значения a указывается любое десятичное число с плавающей точкой, записанное как строка. В этом случае будет возвращено десятичное число с плавающей точкой.