数字类型变量与数字对象变量
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