JavaScript中數字與字符串相互轉化
一.數字轉換成字符串
①Number類定義的toString()方法:
這個方法可以接收表示轉換基數(radix,範圍在2~36之間)的可選參數,如果不指定此參數,轉換規則將是基於十進制。例如:
②Number類定義的toFixed()方法:
這個方法可以指定小數點後的位數。例如:
③Number類定義的toExponential()方法:
這個方法使用指數記數法將數字轉換爲指數形式的字符串,其中小數點前只有一位,小數點後的位數則由參數指定。例如:
④Number類定義的toPrecision()方法:
這個方法根據指定的有效數字位數將數字轉換成字符串。如果有效數字的位數少於數字整數部分的位數,則轉換成指數形式。例如:
注意:以上這些方法在調用後n的值均沒有發生變化,只是返回了相應的字符串結果,並且2、3、4方法在返回結果時有四捨五入。
二.字符串轉換爲數字
①Number()
通過Number()轉換函數傳入一個字符串,它會試圖將其轉換爲一個整數或浮點數直接量,這個方法只能基於十進制進行轉換,並且字符串中不能出現非數字的字符,否則將返回NaN。
②parseInt()函數:
它是全局函數,不從屬於任何類的方法,且只解析整數。如果字符串前綴是"0x"或者"0X",則parseInt()將其解釋爲十六進制數。它解析時會跳過任意數量的前導空格,儘可能解析更多數值字符,並忽略後面的內容,如果第一個非空格字符是非數字字符,則返回NaN。例如:
parseInt()還可以接收第二個可選參數,這個參數指定數字轉換的基數,合法的取值範圍是2~36,例如:
③parseFloat()函數:
它也是全局函數,不從屬於任何類的方法,它可以解析整數和浮點數。它不能識別十六進制前綴"0x"或"0X"。它解析時也會跳過任意數量的前導空格,儘可能解析更多數值字符,並忽略後面的內容,如果第一個非空格字符是非數字字符,則返回NaN。例如:
轉載自
原文作者:clearbug
原文路徑:JavaScript中數字與字符串相互轉化