Javascript中的parseInt函數(shù)可以將一個字符串轉(zhuǎn)換成一個整數(shù)。我們經(jīng)常需要將從用戶輸入的表單中獲取到的字符串轉(zhuǎn)換成數(shù)字類型。這時,parseInt就顯得非常有用了。
比如,字符串"10"可以被轉(zhuǎn)換成數(shù)字10:
var str = "10"; var num = parseInt(str); console.log(num); // 10
同樣的,如果我們有一個表單,其中包含一個數(shù)字類型的輸入框,我們需要將用戶輸入的值轉(zhuǎn)換成數(shù)字類型,也可以使用parseInt函數(shù):
var input = document.getElementById("number-input"); var num = parseInt(input.value); console.log(num);
但是需要注意的是,如果輸入的字符串不是一個合法的數(shù)字,那么parseInt函數(shù)會返回NaN(Not a Number)。比如:
var str = "abc"; var num = parseInt(str); console.log(num); // NaN
這時候,我們可以通過isNaN函數(shù)來判斷返回值是否是NaN:
var str = "abc"; var num = parseInt(str); if(isNaN(num)){ console.log("輸入的不是數(shù)字!"); }
另外需要注意的是,parseInt函數(shù)可以接收兩個參數(shù),第二個參數(shù)是一個進制數(shù),用于指定待解析字符串的進制,取值范圍為2-36之間的整數(shù)。默認情況下,parseInt函數(shù)將字符串視為十進制數(shù)。
比如,字符串"1010"可以被解析為二進制數(shù)10:
var str = "1010"; var num = parseInt(str, 2); console.log(num); // 10
又比如,字符串"ff"可以被解析為十六進制數(shù)255:
var str = "ff"; var num = parseInt(str, 16); console.log(num); // 255
總之,解析字符串為整數(shù)是經(jīng)常會遇到的問題,而parseInt函數(shù)能夠幫助我們輕松地實現(xiàn)這一任務。