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