为什么parseInt(string @ 2019)在JavaScript中返回NaN?

时间:2019-05-20 01:32:46

标签: javascript parseint

我是JavaScript新手,目前了解有关parseInt()方法的两件事:

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

但是,为什么parseInt(“ string @ 2019”)会给出NaN?

2 个答案:

答案 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