JS:類型轉換string 轉換成爲 number

JS 中將 number 轉換爲 string 我們比較熟悉,直接用toString() 的方法就可以了;那麼將 string 轉換成爲 number 都有些什麼方法呢?如下便簡單的列舉了一些,以便記錄,說不定什麼時候就用到了~~

我們可以使用parseInt ,或者unary plus 或者parseFloat with floor 或者Math.round這些方式,請看如下具體的代碼:


js提供了parseInt()parseFloat()兩個轉換函數。前者把值轉換成整數,後者把值轉換成浮點數。只有對String類型調用這些方法,這兩個函數才能正確運行;對其他類型返回的都是NaN(Not a Number)。

一些示例如下:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN


1):parseInt 

        var x = parseInt("10");  // 10

 但是這種只帶一個參數的方式會存在詬病。比如我們想將字符串 "010" 轉化爲數字 10,直接用這個方法將會返回8. 

        var x = parseInt("010"); // 8

 因此這裏提供另外一個方法,帶有兩個參數:第一個是目標轉換字符串,第二個用來指定將字符串轉化爲幾進制的數字,並且radix的範圍是(2~36) 

parseInt(string, radix)

 例如:

        var x = parseInt("1000", 10);  // 1000

 

2):unary plus (一元操作符"+"),這種方式非常的巧妙

        var x = +"1000"; // 1000

       var x = +"1000.12"; // 1000.12

 

3):parseFloat 方法可以將對應的字符串轉化爲浮點類型的數字

        var x = parseFloat("1000.01") // 1000.01
	

使用parseFloat()方法的另一不同之處在於,字符串必須以十進制形式表示浮點數,parseFloat()沒有基模式。

下面是使用parseFloat()方法的示例: parseFloat("1234blue"); //returns 1234.0 parseFloat("0xA"); //returns NaN parseFloat("22.5"); //returns 22.5 parseFloat("22.34.5"); //returns 22.34 parseFloat("0908"); //returns 908 parseFloat("blue"); //returns NaN

 

4):Math.floor 的方式可以對字符和數字進行向下取整

        var x = Math.floor("1000.01"); // 1000

       var x = Math.floor(1000.01); // 1000

       var x = Math.floor(1000.91); // 1000

 

5):Math.round 的方式可以對字符和數字進行四捨五入取整

        var x = Math.round("1000"); //1000 equivalent to round("1000",0)        

var x = Math.round("1000.56"); // 1001

var x = Math.round("1000.23"); // 1000

 

6). 強制類型轉換

Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object


Number()的強制類型轉換與parseInt()和parseFloat()方法的處理方式相似,只是它轉換的是整個值,而不是部分值。

示例如下:用法結果

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100


最後一種強制類型轉換方法String()是最簡單的,示例如下:

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won’t work, causes an error

發佈了8 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章