js將字串轉數字的方法:1、使用轉換函數parseInt()或parseFloat();parseInt()可以將值轉換成整數,parseFloat()可以把值轉換成浮點數。 2.使用Number()函數,把物件的值轉換為數字。
方法1:使用轉換函數parseInt()或parseFloat()
js提供了parseInt ()和parseFloat()兩個轉換函數。前者把數值轉換成整數,後者則將數值轉換成浮點數。只有對String類型呼叫這些方法,這兩個函數才能正確運作;對其他類型回傳的都是NaN(Not a Number)。
parseInt
根據 JsPerf.com 的基準測試,大多數瀏覽器對 parseInt 的最佳回應。雖然它是最快的方式,但使用preseInt 會碰到一些常見陷阱:
parseInt("08"); // returns 0 部分老浏览器. parseInt("44.jpg"); // returns 44
parseInt: 沒有傳入基數時,預設是傳入的基數為10 parseInt(num, 10),如果你不知道num 屬性的類型,不要使用parseInt 進行字串轉數字。
parseFloat
如果你不解析 16 進位數,這是一個非常好的選擇。例如:
parseInt(-0xff); // returns -255 parseInt("-0xFF"); // returns -255 parseFloat(-0xff); // returns -255 parseFloat("-0xFF"); // returns 0
注意:字串中的負十六進位數字是一個特殊情況,如果你用 parseFloat 解析,結果是不正確的。為了避免程序出現 NaN 的情況,應該檢查轉換後的值。
parseFloat("44.jpg"); // return 44
parseFloat: 轉換十六進位數時要小心,如果你不知道要轉換物件的類型,不要使用 parseFloat。
方法2:使用Number()函數
#Number() 函數把物件的值轉換為數字;如果物件的值無法轉換為數字,那麼Number() 函數傳回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變數弱型別轉換
舉個小例子,一看,就會明白了。
var str= '012.345 '; var x = str-0; x = x*1;
上例利用了js的弱型別的特點,只進行了算術運算,實現了字串到數字的型別轉換,不過這個方法還是不推薦的
推薦教學:《JavaScript影片教學》
以上是js如何將字串轉數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!