Як показують інші відповіді тут, існує кілька способів перетворення:
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, багато реалізацій інтерпретують числовий рядок, що починається з провідного 0, як вісімковий. Наступне може мати восьмеричний результат, або може мати десятковий результат. Завжди вказуйте радіус, щоб уникнути цієї ненадійної поведінки.
- МДН
Той факт, що код стає зрозумілішим, є приємним побічним ефектом вказування параметра радіації.
Оскільки parseFloat
аналізує лише числові вирази в радіусі 10, тут немає необхідності в параметрі radix.
Більше про це: