javascript中parseInt和parseFloat類型區別

來源:互聯網
上載者:User

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()還可以是個小數點)。一旦它們遇到了這樣的一個字元,它們就返回自己提取的數字

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.