這篇文章主要介紹了JavaScript數字和字符串轉換的應用,需要的朋友可以參考下
1. 數字轉換為字符串
a. 要把一個數字轉換為字符串,只要給它添加一個空的字符串即可:
代碼如下:
var n = 100;
var n_as_string = n + "";
b. 要讓數字更加顯式地轉換為字符串,可以使用String()函數:
代碼如下:
var string_value = String(number);
c. 使用toString()方法:
代碼如下:
string_value = number.toString();
Number對象的(基本的數字轉換為Number對象,以便可以調用這個方法)toString()方法有一個可選的參數,該參數用來指定轉換的基數。如果不指定這個參數,轉換會以10為基數進行。然而,也可以按照其他的基數(2到36之間的數)來轉換數字。
例如:
代碼如下:
var n = 17;
binary_string = n.toString(2); // Evaluates to "10001"
octal_string = "0" + n.toString(8); // Evaluates to "021"
hex_string = "0x" + n.toString(16); // Evaluates to "0x11"
d. toFixed()方法把一個數字轉換為字符串,並且顯示小數點後的指定的位數。它不使用指數表示法。
代碼如下:
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(1); // "123456.79"
e. toExponential()使用指數表示法把一個數字轉換為字符串,小數點前面有1位數,而小數點後面有特定的位數。
代碼如下:
var n = 123456.789;
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"
f. toPrecision()使用指定的有意義的位數來顯示一個數字,如果有意義的位數還不夠顯示數字的整個整數部分,它就使用指數表示法。
代碼如下:
var n = 123456.789;
n.toPrecision(4); // "1.235e+5"
n.toPrecision(7); // "123456.8"
2. 字符串轉換為數字
a. 將一個字符串轉換為數字的一種缺少些技巧但是很清楚明白的方法就是:把Number()構造函數作為一個函數來調用:
代碼如下:
var number = Number(string_value);
b. parseInt()只截取整數,如果一個字符串以"0x"或"0X"開頭,parseInt()將其解析成為一個十六進制的數字,parseInt()甚至可以接受一個參數來指定要解析的數字的基數,合法的值在2到36之間。
代碼如下:
parseInt("3 blind mice"); // Returns 3
parseInt("12.34"); // Returns 12
parseInt("0xFF"); // Returns 255
parseInt("11", 2); // Returns 3 (1 * 2 + 1)
parseInt("ff", 16); // Returns 255 (15 * 16 + 15)
parseInt("zz", 36); // Returns 1295 (35 * 36 + 35)
parseInt("077", 8); // Returns 63 (7 * 8 + 7)
parseInt("077", 10); // Returns 77 (7 * 10 + 7)
c. parseFloat()截取整數和浮點數。
代碼如下:
parseFloat("3.14 meters"); // Returns 3.14
d. 如果parseInt()和parseFloat()不能夠把指定的字符串轉換為數字,它們就會返回NaN:
代碼如下:
parseInt(''eleven"); // Returns Nan
parseFloat("$72.47"); // Returns NaN
3 JavaScript取整的方法
a.丟棄小數部分,保留整數部分
parseInt(5/2)
b.向上取整,有小數就整數部分加1
Math.ceil(5/2)
c.向下取整
Math.floor(5/2)
d.四捨五入
Math.round(5/2)