数字类型变量与数字对象变量
var N, n;
N = new Number(123); //数字对象变量
n = 321; //数字类型变量, 也可以使用 Number 类的方法
alert(N); //123
alert(n); //321
有趣的 Number.toString() 方法
var str, n = 65535;
str = n.toString();
alert(str); //65535
str = n.toString(2); //这是转到二进制表示
alert(str); //1111111111111111
str = n.toString(8); //这是转到八进制表示
alert(str); //177777
str = 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,79
str = n.toFixed(0); //无小数位
alert(str); //1234567
str = n.toFixed(2); //2 个小数位
alert(str); //1234567.78
str = n.toExponential(1); //使用科学计数法(1位整数), 取 1 个小数位
alert(str); //1.2e+5
str = n.toExponential(3); //使用科学计数法(1位整数), 取 3 个小数位
alert(str); //1.235e+5
str = n.toPrecision(5); //用 5 位数表示
alert(str); //1.2346e+5
str = n.toPrecision(7); //用 7 位数表示
alert(str); //123456.8
布尔到数字
var b = false, n = 123;
n = b + n;
alert(n); //123
b = !b;
n = b + n;
alert(n); //124
字符串到数字
var n;
n = '111' + 0; //这会返回字符串
alert(n); //1110
n = '111' - 0; //这样可以返回数字
alert(n); //111
alert('111' + 1); //1111
alert('111' - 1); //110
parseFloat : 字符串转换到浮点数
var num;
num = parseFloat('1.23');
alert(num); //1.23
num = parseFloat('1.23AB456');
alert(num); //1.23
num = parseFloat('-1.23X');
alert(num); //-1.23
num = parseFloat('X1.23X');
alert(num); //NaN (非数字)
num = parseFloat('');
alert(num); //NaN (非数字)
num = parseFloat('0xFFFF'); //不能识别十六进制, 只认了开头的 0
alert(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); //123
num = parseInt("-123ABC");
alert(num); //-123
num = parseInt("1.23ABC"); //只识别整数部分
alert(num); //1
/* 能识别十六进制 */
num = parseInt("0xFF"); //只识别整数部分
alert(num); //255
num = parseInt("-0Xff"); //只识别整数部分
alert(num); //-255
/* 可用第二个参数, 把来源当作几进制来转换 */
num = parseInt("1111111111111111", 2);
alert(num); //65535
num = parseInt("FFFF", 16);
alert(num); //65535
num = parseInt("ffff", 16);
alert(num); //65535
num = parseInt("0xffff", 16);
alert(num); //65535
num = parseInt("177777", 8);
alert(num); //65535
num = parseInt("1vvv", 32);
alert(num); //65535
num = parseInt("FFFF", 10);
alert(num); //NaN