參考書目 | ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
根據規格,JavaScript 數字算是「雙精確度 64 位元格式 IEEE 754 值」("double-precision 64-bit format IEEE 754 values")。
所以JavaScript沒有所謂的整數, 也就是 介於+- 1.7976931348623157 * 10e308次方到 +-5*10e-324 為可表達的範例 , 整數的話 -9007199254740992 (-2 53次方) ~ 9007199254740992 (2 53次方) 千兆 0.1 + 0.2 ; // 結果為 0.30000000000000004 因為 javaScript 的浮點數採用二位位表示法 , 但無法精準的表示1/10, 1/100 這種十進位小數.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
整數字面值 |
包含 0 , 正整數 , 負整數 ,可使用 10進位 , 8進位, 16進位
因為某些 js 允許八進位或十六進位格式來表達整數 , 所以如果是使用10進位時, 不要以 0 為開頭, 以免被認為八或十六進位的整數而導致計算錯誤。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
浮點數字面值 |
3.14 2345.789 .33333333 6.02e23 (6.02 * 10 23次方)
最大 +- 1.7976931348623457 xE 308
最小 +-5 xE-324 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
數值 數值物件 |
var addresult = 0; var num_arr = new Array( 777, 777.1, 777.2, new Number(777), //它是object new Number(777.1), //它是object new Number(777.2) //它是object ); for (var i = 0; i < num_arr.length; i++) { show += num_arr[i].toString() + "【" + typeof (num_arr[i]) + " 】 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isNaN(n)
Not a Number |
isNaN可以判斷是否為數字
var arr = new Array( 0, 7, new Number(7), new Boolean(true), '', //空字串很特別, isNaN 竟然是 false 'ABC', true, false, null, //null 也是, isNaN 竟然是 false undefined, //undefined , isNaN 是 true Infinity, NaN, function () { alert(''); } ); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Number的其他常數 (特殊值) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
字串轉換為數字 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
指定數值顯示的形式 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
將數值變成奇數 / 偶數 |
它只對整數有效 , 小數部份會被捨去 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
取出小數部份 |
因為會產生誤差 , 所以弄成字串來處理 if (( "" + n).indexOf(".") > -1) { n = Number("0." + String(n).split("."))[1] ) ;} else{ n = 0 ;} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Math物件 |
|