Number是与数字值对应的基本包装类型,可以调用Number构造函数并传递数值来创建Number对象。
var numberObject = new Number(10);
- 重写了valueOf方法:返回数值
- 重写了toString和toLocaleString:返回字符串形式的数值
- 还可以为toString方法传递表示基数的参数,来告诉他返回多少进制的数值的字符串形式。
toFixed()
按照指定的小数位返回数值的字符串表示。
var num = 10;
num.toFixed(2); //"10.00"
如果数值本身包含的小数位比指定的还多,那么接近指定的最大小数位的值就会舍入。
var num = 10.005;
num.toFixed(2); //"10.01"
能够自动舍入的特性,使得toFixed方法很适合处理货币值。
toExponential()
该方法返回指数表示法表示的数值的字符串形式。
接收一个参数,该参数同样也是指定输出结果中的小数位数。
var num = 10;
num.toExponential(1); //"1.0e+1"
toPrecision()
可能会返回固定大小格式(fixed),可能返回指数格式(exponential)。
接收一个参数,即表示数值的所有数字位数(不包括指数部分)。
var num = 99;
num.toPrecision(1); "1e+2"
num.toPrecision(2); "99"
num.toPrecision(3); "99.0"
toPrecision方法会根据需要处理的数值决定到底是用toFixed方法还是toExponential方法,而这三个方法都可以通过向上或向下舍入,做到以最准确的形式来表示带有正确小数位的值。
与Boolean类似,在使用typeof和instanceof操作符时,Number类型实例和数值基本类型的表现完全不同,不建议使用Number构造函数
var numberObject = new Number(10);
var numberValue = 10;
typeof numberObject; //"object"
typeof numberValue; //"number"
numberObject instanceof Number; //true
numberValue instanceof Number; //false