随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253


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


posted on 2009-02-26 21:17  万一  阅读(...)  评论(...编辑  收藏