JavaScript數(shù)字和字符串轉(zhuǎn)換示例
更新時(shí)間:2014年03月26日 11:29:03 作者:
這篇文章主要介紹了JavaScript數(shù)字和字符串轉(zhuǎn)換的應(yīng)用,需要的朋友可以參考下
1. 數(shù)字轉(zhuǎn)換為字符串
a. 要把一個(gè)數(shù)字轉(zhuǎn)換為字符串,只要給它添加一個(gè)空的字符串即可:
var n = 100;
var n_as_string = n + "";
b. 要讓數(shù)字更加顯式地轉(zhuǎn)換為字符串,可以使用String()函數(shù):
var string_value = String(number);
c. 使用toString()方法:
string_value = number.toString();
Number對象的(基本的數(shù)字轉(zhuǎn)換為Number對象,以便可以調(diào)用這個(gè)方法)toString()方法有一個(gè)可選的參數(shù),該參數(shù)用來指定轉(zhuǎn)換的基數(shù)。如果不指定這個(gè)參數(shù),轉(zhuǎn)換會以10為基數(shù)進(jìn)行。然而,也可以按照其他的基數(shù)(2到36之間的數(shù))來轉(zhuǎn)換數(shù)字。
例如:
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()方法把一個(gè)數(shù)字轉(zhuǎn)換為字符串,并且顯示小數(shù)點(diǎn)后的指定的位數(shù)。它不使用指數(shù)表示法。
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(1); // "123456.79"
e. toExponential()使用指數(shù)表示法把一個(gè)數(shù)字轉(zhuǎn)換為字符串,小數(shù)點(diǎn)前面有1位數(shù),而小數(shù)點(diǎn)后面有特定的位數(shù)。
var n = 123456.789;
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"
f. toPrecision()使用指定的有意義的位數(shù)來顯示一個(gè)數(shù)字,如果有意義的位數(shù)還不夠顯示數(shù)字的整個(gè)整數(shù)部分,它就使用指數(shù)表示法。
var n = 123456.789;
n.toPrecision(4); // "1.235e+5"
n.toPrecision(7); // "123456.8"
2. 字符串轉(zhuǎn)換為數(shù)字
a. 將一個(gè)字符串轉(zhuǎn)換為數(shù)字的一種缺少些技巧但是很清楚明白的方法就是:把Number()構(gòu)造函數(shù)作為一個(gè)函數(shù)來調(diào)用:
var number = Number(string_value);
b. parseInt()只截取整數(shù),如果一個(gè)字符串以"0x"或"0X"開頭,parseInt()將其解析成為一個(gè)十六進(jìn)制的數(shù)字,parseInt()甚至可以接受一個(gè)參數(shù)來指定要解析的數(shù)字的基數(shù),合法的值在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()截取整數(shù)和浮點(diǎn)數(shù)。
parseFloat("3.14 meters"); // Returns 3.14
d. 如果parseInt()和parseFloat()不能夠把指定的字符串轉(zhuǎn)換為數(shù)字,它們就會返回NaN:
parseInt(''eleven"); // Returns Nan
parseFloat("$72.47"); // Returns NaN
3 JavaScript取整的方法
a.丟棄小數(shù)部分,保留整數(shù)部分
parseInt(5/2)
b.向上取整,有小數(shù)就整數(shù)部分加1
Math.ceil(5/2)
c.向下取整
Math.floor(5/2)
d.四舍五入
Math.round(5/2)
a. 要把一個(gè)數(shù)字轉(zhuǎn)換為字符串,只要給它添加一個(gè)空的字符串即可:
復(fù)制代碼 代碼如下:
var n = 100;
var n_as_string = n + "";
b. 要讓數(shù)字更加顯式地轉(zhuǎn)換為字符串,可以使用String()函數(shù):
復(fù)制代碼 代碼如下:
var string_value = String(number);
c. 使用toString()方法:
復(fù)制代碼 代碼如下:
string_value = number.toString();
Number對象的(基本的數(shù)字轉(zhuǎn)換為Number對象,以便可以調(diào)用這個(gè)方法)toString()方法有一個(gè)可選的參數(shù),該參數(shù)用來指定轉(zhuǎn)換的基數(shù)。如果不指定這個(gè)參數(shù),轉(zhuǎn)換會以10為基數(shù)進(jìn)行。然而,也可以按照其他的基數(shù)(2到36之間的數(shù))來轉(zhuǎn)換數(shù)字。
例如:
復(fù)制代碼 代碼如下:
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()方法把一個(gè)數(shù)字轉(zhuǎn)換為字符串,并且顯示小數(shù)點(diǎn)后的指定的位數(shù)。它不使用指數(shù)表示法。
復(fù)制代碼 代碼如下:
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(1); // "123456.79"
e. toExponential()使用指數(shù)表示法把一個(gè)數(shù)字轉(zhuǎn)換為字符串,小數(shù)點(diǎn)前面有1位數(shù),而小數(shù)點(diǎn)后面有特定的位數(shù)。
復(fù)制代碼 代碼如下:
var n = 123456.789;
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"
f. toPrecision()使用指定的有意義的位數(shù)來顯示一個(gè)數(shù)字,如果有意義的位數(shù)還不夠顯示數(shù)字的整個(gè)整數(shù)部分,它就使用指數(shù)表示法。
復(fù)制代碼 代碼如下:
var n = 123456.789;
n.toPrecision(4); // "1.235e+5"
n.toPrecision(7); // "123456.8"
2. 字符串轉(zhuǎn)換為數(shù)字
a. 將一個(gè)字符串轉(zhuǎn)換為數(shù)字的一種缺少些技巧但是很清楚明白的方法就是:把Number()構(gòu)造函數(shù)作為一個(gè)函數(shù)來調(diào)用:
復(fù)制代碼 代碼如下:
var number = Number(string_value);
b. parseInt()只截取整數(shù),如果一個(gè)字符串以"0x"或"0X"開頭,parseInt()將其解析成為一個(gè)十六進(jìn)制的數(shù)字,parseInt()甚至可以接受一個(gè)參數(shù)來指定要解析的數(shù)字的基數(shù),合法的值在2到36之間。
復(fù)制代碼 代碼如下:
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()截取整數(shù)和浮點(diǎn)數(shù)。
復(fù)制代碼 代碼如下:
parseFloat("3.14 meters"); // Returns 3.14
d. 如果parseInt()和parseFloat()不能夠把指定的字符串轉(zhuǎn)換為數(shù)字,它們就會返回NaN:
復(fù)制代碼 代碼如下:
parseInt(''eleven"); // Returns Nan
parseFloat("$72.47"); // Returns NaN
3 JavaScript取整的方法
a.丟棄小數(shù)部分,保留整數(shù)部分
parseInt(5/2)
b.向上取整,有小數(shù)就整數(shù)部分加1
Math.ceil(5/2)
c.向下取整
Math.floor(5/2)
d.四舍五入
Math.round(5/2)
您可能感興趣的文章:
- javascript中如何將字符串轉(zhuǎn)換成數(shù)字
- JavaScript中將字符串轉(zhuǎn)換為數(shù)字的七種方法總結(jié)
- JavaScript字符串轉(zhuǎn)換數(shù)字的方法
- JavaScript實(shí)現(xiàn)的數(shù)字與字符串轉(zhuǎn)換功能示例
- js 數(shù)字、字符串、布爾值的轉(zhuǎn)換方法(必看)
- js字符串轉(zhuǎn)換成數(shù)字與數(shù)字轉(zhuǎn)換成字符串的實(shí)現(xiàn)方法
- js整數(shù)字符串轉(zhuǎn)換為金額類型數(shù)據(jù)(示例代碼)
- JavaScript中把數(shù)字轉(zhuǎn)換為字符串的程序代碼
- js 字符串轉(zhuǎn)換成數(shù)字的三種方法
- JavaScript中的字符串與數(shù)字轉(zhuǎn)換的示例
相關(guān)文章
Javascript將字符串日期格式化為yyyy-mm-dd的方法
日期格式化相信對于大家來說再熟悉不過,最近工作中自己利用Javascript就寫了一個(gè),現(xiàn)在將實(shí)現(xiàn)的代碼分享給大家,希望對有需要的朋友們能有所幫助,感興趣的朋友們下面來一起看看吧。2016-10-10基于JavaScript實(shí)現(xiàn)留言板功能
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)留言板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03javascript性能優(yōu)化之事件委托實(shí)例詳解
這篇文章主要介紹了javascript性能優(yōu)化之事件委托用法,結(jié)合實(shí)例形式對比分析了JavaScript中事件委托的具體用法與優(yōu)點(diǎn),需要的朋友可以參考下2015-12-12解讀TypeScript與JavaScript的區(qū)別
這篇文章主要介紹了TypeScript與JavaScript的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12JavaScript 高仿真可控彈簧振子實(shí)現(xiàn)代碼
我剛學(xué)JavaScript ,看見一些牛人寫了許多特效,我也花了一天寫了一個(gè)彈簧振子,完全獨(dú)創(chuàng),沒有借鑒任何人的代碼.2009-10-10javascript實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼案例
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07