parseInt()函數:把字串轉換成整數。返回是從字串的第一個字元開始,如果字元不是以整數開頭則返回0。parseInt()函數還可以轉換十六進位數或十進位數。
例如:parseInt("123xyz") 返回123,而parseInt("xyz")返回0。
parseFloat()函數:類似於parseInt()函數,它返回字串上包含的第一個浮點數。如果字串不以有效浮點數開頭,則返回0。
例如:parseFloat("2.1e4xyz")返回21000;而parseFloat("xyz")返回0。
JavaScript中parseFloat函數方法是返回由字串轉換得到的浮點數
看代碼:
<script>
alert(parseInt("3.54 apples"));
alert(parseFloat("3.54 apples"));
</script>
<script>
alert(parseInt("3.54 apples"));
alert(parseFloat("3.54 apples"));
</script>
他們還可以用來字串轉換數字
1.提取字串中的整數:parseInt(); 例:parseInt("123zhang")的結果為123
2.提取字串中的浮點數:parseFloat(); 例:parseFloat("0.55zhang")的結果為0.55
例如,如果要把字串 "1234blue "轉換成整數,那麼parseInt()將返回1234,因為當它檢測到字元b時,就會停止檢測過程。字串中包含的數字字面量會被正確轉換為數字,因此字串 "0xA "會被正確轉換為數字10。不過,字串 "22.5 "將被轉換成22,因為對於整數來說,小數點是無效字元。一些樣本如下:
parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()方法還有基模式,可以把二進位、八進位、十六進位或其他任何進位的字串轉換成整數。基是由parseInt()方法的第二個參數指定的,所以要解析十六進位的值,需如下調用parseInt()方法:
parseInt("AF", 16); //returns 175
當然,對二進位、八進位,甚至十進位(預設模式),都可以這樣調用parseInt()方法:
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
如果十進位數包含前置0,那麼最好採用基數10,這樣才不會意外地得到八進位的值。例如:
代碼如下 |
複製代碼 |
parseInt("010"); //returns 8 parseInt("010", 8); //returns 8 parseInt("010", 10); //returns 10 |
在這段代碼中,兩行代碼都把字串 "010 "解析成了一個數字。第一行代碼把這個字串看作八進位的值,解析它的方式與第二行代碼(聲明基數為8)相同。最後一行代碼聲明基數為10,所以iNum3最後等於10。
下面是使用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
|
總結
parseInt()和parseFloat()兩個方法都是從左邊的字串開始尋找,如果第一個字元不是數字或者負號(在parseFloat()還可以是個小數點)。一旦它們遇到了這樣的一個字元,它們就返回自己提取的數字