Как преобразовать строку (с начальным нулем или нет) в целое число? Например, '08'
- 8
.
Как преобразовать строку (с начальным нулем или нет) в целое число?
Ответ 1
Существует несколько способов преобразования строки в число, Я предпочитаю использовать унарный оператор +
:
var number = +"08"; // 8
Это эквивалент записи:
var number = Number("08"); // 8
В отличие от parseInt()
, при использовании +
или Number()
нет необходимости в radix, потому что внутреннее числовое преобразование не будет анализировать восьмеричные числа. Если вам нужны методы parseInt()
или parseFloat()
, это также довольно просто:
var number = parseInt("08", 10); // 8
parseInt
и parseFloat
менее надежны для ввода пользователем, поскольку недопустимый числовой литерал может считаться спасенным этими функциями и возвращать неожиданный результат. Рассмотрим следующее:
parseInt("1,000"); // -> 1, not 1000
+"1,000"; // -> NaN, easier to detect when there a problem
Дополнительное чтение
Ответ 2
Используйте parseInt()
с аргументом radix
. Это отключает автоопределение базы (ведущий 0 → восьмеричный, ведущий 0x → hex):
var number = parseInt('08', 10);
// number is now 8
Ответ 3
вы можете использовать parseInt()
; с базой 10 или parseFloat();
для разбора поплавка
Ответ 4
Используйте функцию parseInt
. Ссылка: ссылка