一、Number类型
1.1 toString() 方法 ---- 设置进制
var num = 10;
alert(num.toString()); //"10"
alert(num.toString(2)); //"1010"
alert(num.toString(8)); //"12"
alert(num.toString(10)); //"10"
alert(num.toString(16)); //"a"
1.2 toFixed() 方法 ---- 小数点后位数
toFixed()方法会按照指定的小数位返回数值的字符串表示:
var num = 10;
alert(num.toFixed(2)); //"10.00"
如果数值本身包含的小数位比指定的还多,那么接近指定的最大小数位的值就会舍入,如下面的例子所示:
var num = 10.005;
alert(num.toFixed(2)); //"10.01"
能够自动舍入的特性,使得 toFixed()方法很适合处理货币值。
1.3 toExponential() 方法 ---- 指数表示
该方法返回以指数表示法(也称 e 表示法)表示的数值的字符串形式。与 toFixed()一样,toExponential()也接收一个参数,而且该参数同样也是指定输出结果中的小数位数。看下面的例子:
var num = 10;
alert(num.toExponential(1)); //"1.0e+1"
1.4 toPrecision() 方法 ---- 自动匹配是否用指数
var num = 99;
alert(num.toPrecision(1)); //"1e+2"
alert(num.toPrecision(2)); //"99"
alert(num.toPrecision(3)); //"99.0"
以上代码首先完成的任务是以一位数来表示 99,结果是 “1e+2”,即 100。因为一位数无法准确地表示 99,因此 toPrecision()就将它向上舍入为 100,这样就可以使用一位数来表示它了。
而接下来的用两位数表示 99,当然还是"99"。
最后,在想以三位数表示 99 时,toPrecision()方法返了"99.0"。
实际上,toPrecision()会根据要处理的数值决定到底是调用 toFixed()还是调用 toExponential()。
而这三个方法都可以通过向上或向下舍入,做到以最准确的形式来表示带有正确小数位的值。
二、Math 对象
2.1 Math 对象的属性
这些属性都是一些特殊值:
2.2 min() 和 max() 方法
min()和 max()方法用于确定一组数值中的最小值和最大值。这两个方法都可以接收任意多个数值参数,如下面的例子所示:
var max = Math.max(3, 54, 32, 16);
alert(max); //54
var min = Math.min(3, 54, 32, 16);
alert(min); //3
配合 apply() 方法 比较数组数值:
var values = [1, 2, 3, 4, 5, 6, 7, 8];
var max = Math.max.apply(Math, values);
这个技巧的关键是把 Math 对象作为 apply()的第一个参数,从而正确地设置 this 值。然后,可以将任何数组作为第二个参数。
2.3 Math.ceil() ---- 向上舍入
alert(Math.ceil(25.9)); //26
alert(Math.ceil(25.5)); //26
alert(Math.ceil(25.1)); //26
2.4 Math.floor() ---- 向下舍入
alert(Math.floor(25.9)); //25
alert(Math.floor(25.5