您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何使用js將字符串轉(zhuǎn)數(shù)字,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
js將字符串轉(zhuǎn)數(shù)字的方法:1、使用轉(zhuǎn)換函數(shù)parseInt()或者parseFloat();parseInt()可以將值轉(zhuǎn)換成整數(shù),parseFloat()可以把值轉(zhuǎn)換成浮點數(shù)。2、使用Number()函數(shù),把對象的值轉(zhuǎn)換為數(shù)字。
方法1:使用轉(zhuǎn)換函數(shù)parseInt()或者parseFloat()
js提供了parseInt()和parseFloat()兩個轉(zhuǎn)換函數(shù)。前者把值轉(zhuǎn)換成整數(shù),后者把值轉(zhuǎn)換成浮點數(shù)。只有對String類型調(diào)用這些方法,這兩個函數(shù)才能正確運行;對其他類型返回的都是NaN(Not a Number)。
parseInt
根據(jù) JsPerf.com 的基準(zhǔn)測試,大多數(shù)瀏覽器對 parseInt 的響應(yīng)最佳。雖然它是最快的方式,但使用 preseInt 會碰到一些常見陷阱:
parseInt("08"); // returns 0 部分老瀏覽器. parseInt("44.jpg"); // returns 44
parseInt: 沒有傳入基數(shù)時,默認是傳入的基數(shù)為 10 parseInt(num, 10),如果你不知道 num 屬性的類型,不要使用 parseInt 進行字符串轉(zhuǎn)數(shù)字。
parseFloat
如果你不解析 16 進制數(shù),這是一個非常好的選擇。例如:
parseInt(-0xff); // returns -255 parseInt("-0xFF"); // returns -255 parseFloat(-0xff); // returns -255 parseFloat("-0xFF"); // returns 0
注意:字符串中的負十六進制數(shù)字是一個特殊情況,如果你用 parseFloat 解析,結(jié)果是不正確的。為了避免程序出現(xiàn) NaN 的情況,應(yīng)該檢查轉(zhuǎn)化后的值。
parseFloat("44.jpg"); // return 44
parseFloat: 轉(zhuǎn)換十六進制數(shù)時要小心,如果你不知道要轉(zhuǎn)換對象的類型,不要使用 parseFloat。
方法2:使用Number()函數(shù)
Number() 函數(shù)把對象的值轉(zhuǎn)換為數(shù)字;如果對象的值無法轉(zhuǎn)換為數(shù)字,那么 Number() 函數(shù)返回 NaN。
示例:
var test1= new Boolean(true); var test2= new Boolean(false); var test3= new String("999"); var test4= new String("999 888"); document.write(Number(test1)+ "<br />"); document.write(Number(test2)+ "<br />"); document.write(Number(test3)+ "<br />"); document.write(Number(test4)+ "<br />");
輸出;
1 0 999 NaN
方法3:利用js變量弱類型轉(zhuǎn)換
舉個小例子,一看,就會明白了。
var str= '012.345 '; var x = str-0; x = x*1;
上例利用了js的弱類型的特點,只進行了算術(shù)運算,實現(xiàn)了字符串到數(shù)字的類型轉(zhuǎn)換,不過這個方法還是不推薦的
看完上述內(nèi)容,你們對如何使用js將字符串轉(zhuǎn)數(shù)字有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。