module1-online-01-parseInt第二个参数

parseInt的第二个参数

一、使用方法

  • 进行取整操作,第二个数表示目前数字的进制(2-36)

  • 转换结束后默认按十进制进行输出

  • parseInt('123', 2)得出的结果是83

二、开头问题

  • 0x / 0X开头按照16进制转换为整数

  • 0 / 0o / 0O开头的字符串(数字的话会八进制进行解析),ES3会按照八进制转换,ES5中默认按十进制

    • 案例

    • parseInt(021, 8) // 15
      parseInt('021', 8) // 17
  • 如果按照其它字符开头的字符串,都按照十进制进行转换

  • 为了结果统一,所以尽量加上第二个参数

  • 如果按照进制执行的话,不是该进制的数会返回NaN

三、案例

  • 以下所有都返回15

四、与Math.floor()相比与一些特性

  • Math.floor()可以识别字符串形式的科学计数,而parseInt不能识别

  • Math.floor()不能识别字符串形式的非十进制数,而parseInt可以识别

  • Math.floor()可以识别任意大小的科学计数,而parseInt()最多只能识别到1e20,超过这个大小只识别开头的数字,负数一样

    • parseInt(6.7 * 1e22, 10) // 6
      Math.floor(6.7 * 1e22) // 6.7e+22
原文地址:https://www.cnblogs.com/lezaizhu/p/14089409.html