方法:1、用加號“+”運算符,語法“數(shù)字 + ""”;2、用toString()方法,語法“數(shù)字變量.toString()”;3、用toFixed()、toExponential()或toPrecision()將數(shù)字轉(zhuǎn)換為小數(shù)格式字符串。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript中將數(shù)字轉(zhuǎn)為字符串
方法1:使用加號“+”運算符
當值與空字符串相加運算時,JavaScript 會自動把值轉(zhuǎn)換為字符串。
var n = 123; n = n + ""; console.log(typeof n); //返回類型為 string
方法2:使用toString()方法
toString() 是 Object 類型的原型方法,Number 子類繼承該方法后,重寫了 toString(),允許傳遞一個整數(shù)參數(shù),設置顯示模式。數(shù)字默認為十進制顯示模式,通過設置參數(shù)可以改變數(shù)字模式。
1) 如果省略參數(shù),則 toString() 方法會采用默認模式,直接把數(shù)字轉(zhuǎn)換為數(shù)字字符串。
var a = 1.000; var b = 0.0001; var c = 1e-1; console.log(a.toString()); //返回字符串“1” console.log(b.toString()); //返回字符串“0.0001” console.log(c.toString()); //返回字符串“0.0001”
toString() 方法能夠直接輸出整數(shù)和浮點數(shù),保留小數(shù)位。小數(shù)位末尾的零會被清除。但是對于科學計數(shù)法,則會在條件許可的情況下把它轉(zhuǎn)換為浮點數(shù),否則就用科學計數(shù)法形式輸出字符串。
var a = 1e-14; console.log(a.toString()); //返回字符串“1e-14”
在默認情況下,無論數(shù)值采用什么模式表示,toString() 方法返回的都是十進制的數(shù)字字符串。因此,對于八進制、二進制或十六進制的數(shù)字,toString() 方法都會先把它們轉(zhuǎn)換為十進制數(shù)值之后再輸出。
var a = 010; //八進制數(shù)值 10 var b = 0x10; //十六進制數(shù)值10 console.log(a.toString()); //返回字符串“8” console.log(b.toString()); //返回字符串“16”
2) 如果設置參數(shù),則 toString() 方法會根據(jù)參數(shù)把數(shù)值轉(zhuǎn)換為對應進制的值之后,再輸出為字符串表示。
var a = 10; //十進制數(shù)值 10 console.log(a.toString(2)); //返回二進制數(shù)字字符串“1010” console.log(a.toString(8)); //返回八進制數(shù)字字符串“12” console.log(a.toString(16)); //返回二進制數(shù)字字符串“a”
方法3:使用toFixed()、toExponential()或toPrecision()方法將數(shù)字轉(zhuǎn)換為小數(shù)格式字符串
使用 toString() 方法把數(shù)值轉(zhuǎn)換為字符串時,無法保留小數(shù)位。這對于貨幣格式化、科學計數(shù)等專業(yè)領(lǐng)域輸出顯示數(shù)字來說,無疑是不方便的。為此,JavaScript 提供了 3 個專用方法,具體說明如下。
1) toFixed()
toFixed() 能夠把數(shù)值轉(zhuǎn)換為字符串,并顯示小數(shù)點后的指定位數(shù)。
var a = 10; console.log(a.toFixed(2)); //返回字符串“10.00” console.log(a.toFixed(4)); //返回字符串“10.0000”
2) toExponential()
toExponential() 方法專門用來把數(shù)字轉(zhuǎn)換為科學計數(shù)法形式的字符串。
var a = 123456789; console.log(a.toExponential(2)); //返回字符串“1.23e+8” console.log(a.toExponential(4)); //返回字符串“1.2346e+8”
toExponential() 方法的參數(shù)指定了保留的小數(shù)位數(shù)。省略部分采用四舍五入的方式進行處理。
3) toPrecision()
toPrecision() 方法與 toExponential() 方法相似,但它可以指定有效數(shù)字的位數(shù),而不是指定小數(shù)位數(shù)。
var a = 123456789; console.log(a.toPrecision(2)); //返回字符串“1.2e+8” console.log(a.toPrecision(4)); //返回字符串“1.235e+8”
【推薦學習:javascript高級教程】