How does parseInt() in Javascript work?

后端 未结 4 1452
挽巷
挽巷 2021-01-28 12:25



        
相关标签:
4条回答
  • 2021-01-28 13:09

    From Microsoft's docs:

    If no prefix of numString can be successfully parsed into an integer, NaN(not a number) is returned.

    So yes, only parsable prefixes are returned.

    0 讨论(0)
  • 2021-01-28 13:16

    You only get number till where it is meaningful when converting from string to number.

    console.log(parseInt('01abbb')) // 1 -> it is started by 01 before chars
    console.log(parseInt('31xyz'))  // 31 -> it is started by 31 before chars
    console.log(parseInt('zyz31'))  // NaN -> it is not started by numbers
    console.log(parseInt('31xyz1')) // 31 -> it is started by 31 before chars
    
    0 讨论(0)
  • 2021-01-28 13:16

    ParseInt reads until it stops seeing a number. Since xyz is not a number, it returns NaN (Not a Number).

    0 讨论(0)
  • 2021-01-28 13:18

    For more information please refer to documentation

    Note: Only the first number in the string is returned!

    Note: Leading and trailing spaces are allowed.

    Note: If the first character cannot be converted to a number, parseInt() returns NaN.

    Note: Older browsers will result parseInt("010") as 8, because older versions of ECMAScript, (older than ECMAScript 5, uses the octal radix (8) as default when the string begins with "0". As of ECMAScript 5, the default is the decimal radix (10).

    0 讨论(0)
提交回复
热议问题