Почему parseInt (строка @ 2019) возвращает NaN в JavaScript? - PullRequest
0 голосов
/ 20 мая 2019

Я новичок в JavaScript и в настоящее время понимаю две вещи о методе parseInt ():

parseInt("100") // gives 100
parseInt("2019@string") // gives 2019

Однако, почему parseInt ("string @ 2019") дает NaN?

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Функция parseInt принимает в качестве ввода строку и пытается преобразовать ее в число. Вот несколько примеров, в которых parseInt используется для преобразования строки в число. Ваш второй пример parseInt("string@2019") возвращает NaN, поскольку он string@2019 не является допустимым типом. Попробуйте просто сделать parseInt("2019").

Подробнее о parseInt можно прочитать здесь .

0 голосов
/ 20 мая 2019

Вы можете увидеть проблему, если посмотрите на страницу W3Schools для parseInt:

Если первый символ не может быть преобразован в число, parseInt () возвращаетNaN.

Вот почему возвращается следующее: NaN:

console.log(parseInt("O123"));

Но если в строке несколько чисел, разделенных нецифровым символом, это не приведет к ошибке - просто вернется первое число:

Возвращается только первое число в строке!

console.log(parseInt("12b34"));

Эта информация также содержится на странице MDN для parseInt:

Если первый символ не может бытьконвертируется в число, возвращается NaN.

...