一、Number轉字元串概述
在Javascript開發中,我們經常需要將Number類型轉為字元串類型進行字元串拼接、輸出列印等操作。此時我們可以直接使用toString()、String()和+””等方法將Number類型轉為字元串類型。但是,由於JavaScript中的數據類型比較隨意,可能會出現一些轉換的意外情況,需要我們注意。
二、使用toString()方法轉換
toString()方法可以將數字類型轉為字元串類型。它可以接受一個參數,規定基數(從2到36),表示輸出的字元串是幾進位。如果不指定參數,默認將數字轉成10進位字元串。
let num = 12345; console.log(num.toString()); // "12345" console.log(num.toString(2)); // "11000000111001" console.log(num.toString(16)); // "3039"
需要注意的是,如果Number類型為NaN或者Infinity,使用toString()方法會返回特殊字元串”NaN”或”Infinity”。
let nan = NaN; let inf = Infinity; console.log(nan.toString()); // "NaN" console.log(inf.toString()); // "Infinity"
三、使用String()方法轉換
String()方法可以將數字類型轉為字元串類型。和toString()方法類似,不同的是只有一個參數,規定轉換後字元串的基數。而且,如果傳入的是null或undefined,則返回空字元串。
console.log(String(12)); // "12" console.log(String(12.345)); // "12.345" console.log(String(true)); // "true" console.log(String(null)); // "" console.log(String(undefined)); // ""
四、使用+””方式轉換
使用+””方式可以將Number類型轉為字元串類型,表達式中的+號將Number類型轉為字元串類型,再和空字元串進行拼接,得到的結果就是字元串類型。
let num = 12345; console.log(num + ""); //"12345"
五、需要注意的問題
1.小數點位數問題
當Number類型為小數時,有時候轉換後的字元串小數點位數超出預期,需要我們小心。例如:
let num = 12.345; console.log(num.toString()); // "12.345" console.log(String(num)); // "12.345" console.log(num + ""); // "12.345"
可以看到,直接使用toString()、String()和+””會將小數點後的位數保留下來。如果我們需要保留小數點後2位,則可以使用toFixed()方法或者手寫保留2位小數的函數。
console.log(num.toFixed(2)); // "12.35" console.log((num * 100 / 100).toString()); // "12.35"
2.NaN和Infinity的問題
當Number類型為NaN時,如果使用+””方法轉換會得到’NaN’字元串,而使用toString()、String()方法會得到”Number.NaN”字元串。NaN必須使用isNaN()函數進行判斷。當Number類型為Infinity時,使用任何方法都能正確地轉換成”Infinity”字元串。
let nan = NaN; let inf = Infinity; console.log(nan + ""); // "NaN" console.log(nan.toString()); // "NaN" console.log(String(nan)); // "Number.NaN" console.log(inf + ""); // "Infinity" console.log(inf.toString()); // "Infinity" console.log(String(inf)); // "Infinity"
3.二進位和八進位問題
toString()方法可以將數字類型按照不同基數進行轉換。但是不同的瀏覽器對於按照不同基數的轉換結果可能存在差異,因此一般情況下應該使用十進位基數進行轉換。
console.log((17).toString(2)); // "10001" console.log((17).toString(8)); // "21"
六、結尾
以上就是在JavaScript中將Number類型轉換為字元串類型的幾種方式以及需要注意的問題。根據項目的實際需求來選擇使用適合的方法。
原創文章,作者:EHUGY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372075.html