1. 程式人生 > >JavaScript學習筆記-- Number資料型別

JavaScript學習筆記-- Number資料型別

1. 整數資料型別

var intNum = 55; //integer
 
var octalNum1 = 070; //octal for 56
var octalNum2 = 079; //invalid octal - interpreted as 79
var octalNum3 = 08; //invalid octal - interpreted as 8
 
var hexNum1 = 0xA; //hexadecimal for 10
var hexNum2 = 0x1f; //hexedecimal for 31

2. 浮點數資料型別

var floatNum1 = 1.1;
var floatNum2 = 0.1;
var floatNum3 = .1; //valid, but not recommended
 
var floatNum1 = 1.; //missing digit after decimal - interpreted as integer1
var floatNum2 = 10.0; //whole number - interpreted as integer 10
 
var floatNum = 3.125e7; //equal to 31250000

3. NaN -- not a number

1)包含NaN值的任何運算的返回值均是NaN

2)NaN與任何其它數值都不相等,包括其它NaN

alert(NaN == NaN); //false

3)NaN判斷:isNaN(),可對任何資料進行判斷,任何不可被轉換為數字的資料均返回true

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false - 10 is a number
alert(isNaN(“10”)); //false - can be converted to number 10
alert(isNaN(“blue”)); //true - cannot be converted to a number
alert(isNaN(true)); //false - can be converted to number 1

當isNaN()的引數是物件時,先呼叫物件的valueOf()方法進行數字轉換,如果無法轉換為數字則繼續呼叫物件的toString()方法進行數字轉換來判斷。

4. Number Conversions

1)Number()

var num1 = Number(“Hello world!”); //NaN
var num2 = Number(“”); //0
var num3 = Number(“000011”); //11
var num4 = Number(true); //1

2)parseInt()

var num1 = parseInt(“1234blue”); //1234
var num2 = parseInt(“”); //NaN
var num3 = parseInt(“0xA”); //10 - hexadecimal
var num4 = parseInt(22.5); //22
var num5 = parseInt(“70”); //70 - decimal
var num6 = parseInt(“0xf”); //15 - hexadecimal
 
var num = parseInt(“0xAF”, 16); //175
var num1 = parseInt(”AF”, 16); //175
var num2 = parseInt(”AF”); //NaN
 
var num1 = parseInt(“10”, 2); //2 - parsed as binary
var num2 = parseInt(“10”, 8); //8 - parsed as octal
var num3 = parseInt(“10”, 10); //10 - parsed as decimal
var num4 = parseInt(“10”, 16); //16 - parsed as hexadecimal

3)parseFloat()

var num1 = parseFloat(“1234blue”); //1234 - integer
var num2 = parseFloat(“0xA”); //0
var num3 = parseFloat(“22.5”); //22.5
var num4 = parseFloat(“22.34.5”); //22.34
var num5 = parseFloat(“0908.5”); //908.5
var num6 = parseFloat(“3.125e7”); //31250000

參考:JavaScript for Web Developers,Third Edition,Nicholas C. Zakas