數字類型變數與數字物件變數
var N, n;N = new Number(123); //數字物件變數n = 321; //數字類型變數, 也可以使用 Number 類的方法alert(N); //123alert(n); //321
有趣的 Number.toString() 方法
var str, n = 65535;str = n.toString();alert(str); //65535str = n.toString(2); //這是轉到二進位表示alert(str); //1111111111111111str = n.toString(8); //這是轉到八進位表示alert(str); //177777str = n.toString(16); //這是轉到十六進位表示alert(str); //ffff str = n.toString(32); //這是轉到三十二進位表示(進位範圍 2-36)alert(str); //1vvv
格式化輸出
var str, n = 123456.789;str = n.toLocaleString(); //到本地格式alert(str); //123,456,79str = n.toFixed(0); //無小數位alert(str); //1234567str = n.toFixed(2); //2 個小數位alert(str); //1234567.78str = n.toExponential(1); //使用科學計數法(1位整數), 取 1 個小數位alert(str); //1.2e+5str = n.toExponential(3); //使用科學計數法(1位整數), 取 3 個小數位alert(str); //1.235e+5str = n.toPrecision(5); //用 5 位元表示alert(str); //1.2346e+5str = n.toPrecision(7); //用 7 位元表示alert(str); //123456.8
布爾到數字
var b = false, n = 123;n = b + n;alert(n); //123b = !b;n = b + n;alert(n); //124
字串到數字
var n;n = '111' + 0; //這會返回字串alert(n); //1110n = '111' - 0; //這樣可以返回數字alert(n); //111alert('111' + 1); //1111alert('111' - 1); //110
parseFloat : 字串轉換到浮點數
var num;num = parseFloat('1.23');alert(num); //1.23num = parseFloat('1.23AB456');alert(num); //1.23num = parseFloat('-1.23X');alert(num); //-1.23num = parseFloat('X1.23X');alert(num); //NaN (非數字)num = parseFloat('');alert(num); //NaN (非數字)num = parseFloat('0xFFFF'); //不能識別十六進位, 只認了開頭的 0alert(num); //0/* 如果是個明顯的浮點數字串... */num = "1.23" - 0;alert(num); //1.23/* 但如果混有非數字記號就不行了, 這就需要上面的 parseFloat 函數 ... */num = "1.23ABC" - 0;alert(num); //NaN
parseInt : 字串轉換到整數
var num;num = parseInt("123ABC");alert(num); //123num = parseInt("-123ABC");alert(num); //-123num = parseInt("1.23ABC"); //只識別整數部分alert(num); //1/* 能識別十六進位 */num = parseInt("0xFF"); //只識別整數部分alert(num); //255num = parseInt("-0Xff"); //只識別整數部分alert(num); //-255/* 可用第二個參數, 把來源當作幾進位來轉換 */num = parseInt("1111111111111111", 2);alert(num); //65535num = parseInt("FFFF", 16);alert(num); //65535num = parseInt("ffff", 16);alert(num); //65535num = parseInt("0xffff", 16);alert(num); //65535num = parseInt("177777", 8);alert(num); //65535num = parseInt("1vvv", 32);alert(num); //65535num = parseInt("FFFF", 10);alert(num); //NaN