parseInt()的用法


一.基本用法(只接受一個參數,可以當做第二個參數默認是10):parseInt的返回值只有兩種可能,不是一個十進制整數,就是NaN。

  a.將字符串轉為整數。parseInt('123') // 123

  b.如果字符串頭部有空格,空格會被自動去除。parseInt('   81') // 81

  c.如果parseInt的參數不是字符串,則會先轉為字符串再轉換。這個很重要

  d.字符串轉為整數的時候,是一個個字符依次轉換,如果遇到不能轉為數字的字符,就不再進行下去,返回已經轉好的部分。

  e.如果字符串的第一個字符不能轉化為數字(后面跟着數字的正負號除外),返回NaN。

  f.如果字符串以0x或0X開頭,parseInt會將其按照十六進制數解析。parseInt('0x10') // 16

  g.如果字符串以0開頭,將其按照10進制解析。parseInt('011') // 11

  h.如果參數以0開頭,但不是字符串,則會先將數值轉成字符串,然后解析,見規則c  parseInt(011) // 9

  i.對於那些會自動轉為科學計數法的數字,parseInt會將科學計數法的表示方法視為字符串,因此導致一些奇怪的結果。

    parseInt(1000000000000000000000.5) // 1
    // 等同於
    parseInt('1e+21') // 1

    parseInt(0.0000008) // 8
    // 等同於
    parseInt('8e-7') // 8

 

二.進制轉換(接收兩個參數):parseInt方法還可以接受第二個參數(2到36之間),表示被解析的值的進制,返回該值對應的十進制數。默認情況下,parseInt的第二個參數為10,即默認是十進制轉十進制。

  a.第一個參數解析規則參照第一條基本用法

  b.如果第二個參數不是數值,會被自動轉為一個整數。這個整數只有在2到36之間,才能得到有意義的結果,超出這個范圍,則返回NaN。如果第二個參數是0、undefined和null,則直接忽略。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM