Как показывают другие ответы здесь, есть несколько способов сделать преобразование:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
Я хотел бы упомянуть еще одну вещь, parseIntхотя.
При использовании parseIntимеет смысл всегда передавать параметр radix . Для десятичного преобразования, то есть 10. Это значение по умолчанию для параметра, поэтому его можно опустить. Для двоичного, это 2и 16для шестнадцатеричного. На самом деле, любой корень между 2 и 36 включительно работает.
parseInt('123') // 123 (don't do this)
parseInt('123', 10) // 123 (much better)
parseInt('1101', 2) // 13
parseInt('0xfae3', 16) // 64227
parseIntФункция, хорошо, разбирает строки , чтобы преобразовать их в числа. В некоторых реализациях JS parseIntведущие нули анализируются как восьмеричные:
Несмотря на то, что ECMAScript 3 не одобряет и ECMAScript 5 запрещает, многие реализации интерпретируют числовую строку, начинающуюся с нуля, как восьмеричное. У следующего может быть восьмеричный результат, или у этого может быть десятичный результат. Всегда указывайте основание, чтобы избежать этого ненадежного поведения.
- MDN
Тот факт, что код становится понятнее, является хорошим побочным эффектом от указания параметра radix.
Поскольку parseFloatв radix 10 анализируются только числовые выражения, здесь не требуется параметр radix.
Подробнее об этом: