JavaScript數值與字符串類型轉換的三種函數

字符串->數值

  • Number(argument1:AnyType)
  • parseInt(argument1:String,argument2:Int)
  • parseFloat(argument1:String)

Number()

Number()函數可以用于想要轉換為數值類型的任何數據類型

  • Boolean:Number(true)=1,Number(false)=0
  • Number:Number(value)=value
  • null:Number(null)=0
  • undefined:Number(undefined)=NaN
  • String:
    • 字符串中只包含數字(包括前面帶正負號的情況),則將其轉換為十進制數值(忽略前導零)
    1. 字符串中包含有效的浮點格式,則將其轉換為對應的浮點數值(同樣忽略前導零)
    2. 字符串中包含有效的十六進制格式(0x開頭),則將其轉換為相同大小的十進制整數值。
    3. 字符串為空,則轉換為零
    • 字符串包含除上述格式外的字符,則轉換為NaN.

parseInt()

只能用來把字符串轉換為整數:

  • 如果第一個非空字符不是數字字符或正負號,返回NaN
  • 如果第一個非空字符串是數字字符,則繼續解析第二個字符,直到解析完所有字符或者遇到一個非數字字符停止
  • 同時該函數能識別出十進制、十六進制(0x開頭)、八進制(0開頭)(可以為這個函數提供第二個參數10、16、8來確定轉換為何種進制,如果指定了第二個參數,10進制和8進制也可以不帶開頭)

parseFloat()

  • 字符串中的第一個小數點是有效的,之后的多余小數點則被視為非數字字符
  • 只能識別十進制
  • 若字符串包含的是可被解析被整數的數,則返回整數

數值->字符串

::toString(argument:Int)
參數可以是2、8、10、16表示輸出何種進制數值的字符串

將一個值轉換成一個字符串有兩種方法,一是使用toString()方法,二是使用轉型函數String()。下面是一些需要注意的問題:

  • 大多類型都有toString()方法,除了null和undefined類型。

  • 對于字符串型的值也可以使用toString()方法,它會返回該字符串的一個副本。

  • 默認情況下 參數是10。要說明的是對于非數值類型(boolean,string等)設置toString()的參數是無效的

  • 任何值都可以使用String()方法。它的過程是這樣的

首先,如果值有toString()方法,那么則使用該方法(無參數)。

其次,那就是該值沒有toString()方法,那就是 null 返回 "null",undefined返回"undefined";

總的來說,在不知道某個變量是否有值/已定義的情況下,使用String()是最為保險的方法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容