1. 程式人生 > >三個把值轉換成數值類型的函數:Number()、 parseInt()、 parseFloat()的區別

三個把值轉換成數值類型的函數:Number()、 parseInt()、 parseFloat()的區別

例如 空字符 var hello 2.3 XA number 返回 數值

一 、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()的區別