JavaScript Numbers 的特性

 

一、JavaScript Numbers 是 64-bit double precision floating point numbers。

 

二、整數可以精準到 15 digits。

 

三、注意,浮點數的運算會有小誤差

解決方式就是全都轉成使用整數運算

 

四、由數字組成的字串在做「減乘除」時會自動轉成數字運算,「加」則不會

 

五、NaN 的型態為 Number,但 NaN 的意思指 Not a Number,

例如運算後不是數字的話將會回傳為 NaN 結果

 

六、也可以利用 isNaN() 方法來判斷運算結果是否為 NaN。

另外也有 isFinite() 方法,來判斷運算結果是否為有限數(非無限大)。

另外也有 isInteger() 方法,來判斷運算結果是否為數字。

 

七、Infinity 與 -Infinity 分別表示正無限大與負無限大,其型態皆為 Number。

 

八、要表示一個數為十六進制時,則前面要加上「0x」,

例如:var x = 0xFF;

 

九、數字預設是 10 進制,可以利用 number.toString() 方法轉成各進制字串。

var myNumber = 32;
myNumber.toString(10);  // returns 32
myNumber.toString(32);  // returns 10
myNumber.toString(16);  // returns 20
myNumber.toString(8);   // returns 40
myNumber.toString(2);   // returns 100000

 

十、123 與 new Number(123) 可不完全相等。

var x = 123;
var y = new Number(123);
console.log(typeof x);
console.log(typeof y);
console.log(x === y);

其結果為