溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用js將字符串轉(zhuǎn)數(shù)字

發(fā)布時間:2020-07-20 14:35:06 來源:億速云 閱讀:302 作者:Leah 欄目:web開發(fā)

今天就跟大家聊聊有關(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è)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責(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)容。

AI