三個把值轉換成數值類型的函數:Number()、 parseInt()、 parseFloat()的區別
一 、Number()
Number()可以把任意值轉換成數值,如果要轉換的字符串中有一個不是數值的字符,返回NaN 例如:
var num1 = Number(true); //true返回1 false返回0
var num2 = Number(undefined); //返回NaN
var num3 = Number("hello"); //返回NaN
var num4 = Number(" "); //如果是空字符串返回0
var num5 = Number(123); //返回123,如果是數字,簡單返回
var num6 = Number("123abc"); //NaN
var num7 = Number("abc123"); //NaN
二、parseInt()
1、parseInt()把字符串轉換成整數
var num1 = parseInt("12.3abc"); //返回12,如果第一個字符是數字會解析知道遇到非數字結束
var num2 = parseInt("abc123"); //返回NaN,如果第一個字符不是數字或者符號就返回NaN
var num3 = parseInt(""); //空字符串返回NaN,Number("")返回0
var num5 = parseInt("10"); //返回10
var num4 = parseInt("0xA"); //返回10
2、parseInt()可以傳遞兩個參數,第一個參數是要轉換的字符串,第二個參數是要轉換的進制
var num1 = parseInt("A",16); //A按16進制解析是10
var num2 = parseInt("10",10); //10按10進制解析10
var num3 = parseInt("10",16); //10按16進制解析16
var num4 = parseInt("10",8); //10按8進制解析是8
var num5 = parseInt("10",2); //10按2進制解析是2
var num6 = parseInt("10",3); //10按3進制解析是3
三、parseFloat()
1、parseFloat()把字符串轉換成浮點數
2、parseFloat()和parseInt非常相似,不同之處在與 parseFloat會解析第一個. 遇到第二個.或者非數字結束 parseFloat不支持第二個參數,只能解析10進制數 如果解析的內容裏只有整數,解析成整數
三個把值轉換成數值類型的函數:Number()、 parseInt()、 parseFloat()的區別