在JavaScript的值類型轉換中,最常發生的就是string與number這兩種類型值之間的相互轉換。
可以通過調用number值的4個函數(事實上,是JS將number值自動轉化為Number對象後,Number類的4個函數)來將其轉換成string:
1.toString()。
2.toFixed()。
3.toExponential()。
4.toPrecision()。
toString()
可以在number值上調用toString()方法來將其轉換成字符串。toString()函數接受一個2到36之間的正整數作為參數,其作用為定義數值的進制數;如果該參數缺失,那麼toString()函數就以10進制來表示相應的數值。
復制代碼 代碼如下:
var a = 42;
console.log(a.toString(2));//101010
console.log(a.toString());//42
console.log("0x" + a.toString(16));//0x2a
var b = 0xff;
console.log(b.toString());//255
toFixed()
toFixed()函數接受一個整數作為參數,參數作用為指定小數點後的精確位數。toFixed()函數所接受的參數還可以是負數(雖然使用情況較少),當參數為負數時,數值的整數部分將損失精度。在使用toFixed()函數對數值進行調整時,JavaScript遵循的是四捨五入的原則。
復制代碼 代碼如下:
var x = 17.38;
console.log(x.toFixed(0));//17
console.log(x.toFixed(1));//17.4
console.log(x.toFixed(4));//17.380
console.log(x.toFixed(-1));//20
toExponential()
可以使用toExponential()函數來將數值轉換成用科學計數法來表示。toExponential()函數接受一個非負整數為參數(如果此參數為負數,則拋出RangeError),作為科學計數法的精度。與toFixed()函數一樣,toExponential()函數對數值進行調整時遵循四捨五入原則。
復制代碼 代碼如下:
var y = 17951.38596
console.log(y.toExponential(1));//1.8e+4
console.log(y.toExponential(0));//2e+4
toPrecision()
toPrecision()函數接受一個正整數作為參數(如果參數為0或者負數,程序將拋出RangeError),並將其作為數值的精確位數(包括整數部分和小數部分在內),如果該精確位數小於數值的整數部分位數,那麼數值將轉換成用科學計數法來表示。與toFixed()函數一樣,toPrecision()函數對數值進行調整時遵循四捨五入原則。
復制代碼 代碼如下:
var z = 17951.38596;
console.log(z.toPrecision(8));
console.log(z.toPrecision(3));