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);
其結果為