我是JavaScript新手,目前了解有关parseInt()方法的两件事:
parseInt("100") // gives 100
parseInt("2019@string") // gives 2019
但是,为什么parseInt(“ string @ 2019”)会给出NaN?
答案 0 :(得分:0)
如果您查看W3Schools page for parseInt
,就会发现问题:
如果第一个字符不能转换为数字,则parseInt()返回NaN。
这就是为什么以下返回NaN
的原因:
console.log(parseInt("O123"));
但是,如果字符串中有多个数字,并用非数字字符分隔,则不会出错-它只会返回第一个数字:
仅返回字符串中的第一个数字!
console.log(parseInt("12b34"));
此信息也可以在MDN page for parseInt
中找到:
如果第一个字符不能转换为数字,则返回NaN。
答案 1 :(得分:0)
parseInt
函数将字符串作为输入,并尝试将其转换为数字。 Here are some examples that use parseInt
to convert a string to a number.第二个示例parseInt("string@2019")
返回NaN,因为它string@2019
不是有效的类型。尝试只做parseInt("2019")
。
您可以详细了解parseInt
here。