console.log(parseFloat(null),parseFloat(undefined));//NaN NaN
console.log(parseFloat(true),parseFloat(false));//NaN NaN
console.log(parseFloat([]),parseFloat([2.1]),parseFloat(['2.1px']));//NaN 2.1 2.1
console.log(parseFloat(''),parseFloat({}));//NaN NaN
继承的方法
Number类型是与数字值对应的包装类型,继承了引用类型的通用方法
valueOf():返回基本类型的数值
toString()和toLocaleString():返回字符串形式的数值
console.log(typeof 1.1.valueOf(),1.1.valueOf());//number 1.1
console.log(typeof 1.1.toString(),1.1.toString());//String '1.1'
console.log(typeof 1.1.toLocaleString(),1.1.toLocaleString());//String '1.1'
console.log(typeof 1.valueOf(),1.valueOf());//报错
console.log(typeof 1.toString(),1.toString());//报错
console.log(typeof 1.toLocaleString(),1.toLocaleString());//报错
var num = 1;
console.log(typeof num.valueOf(),num.valueOf());//number 1
console.log(typeof num.toString(),num.toString());//String '1'
console.log(typeof num.toLocaleString(),num.toLocaleString());//String '1'
[注意]可以为toString()方法传递一个表示基数的参数
var num = 10;
console.log(num.toString());//'10'
console.log(num.toString(2));//'1010'
console.log(num.toString(8));//'12'
console.log(num.toString(10));//'10'
console.log(num.toString(16));//'a'
其他方法
toFixed()
按照指定的小数位返回数值四舍五入后的字符串表示(常用于处理货币值)
[注意]toFixed()里的参数只接受0-20,若不传参则相当于参数是0
var num = 10.456;
console.log(num.toFixed(2));//10.46
console.log(num.toFixed());//10
console.log(num.toFixed(-1));//报错
toExponential()
返回指数表示法(e表示法)的数值的字符串表示,参数表示转换后的小数位数
[注意]toExponential()里的参数只接受0-20,若不传参则相当于不针对小数进行四舍五入
var num = 10.456;
console.log(num.toExponential(2));//1.05e+1
console.log(num.toExponential());//1.0456e+1
console.log(num.toExponential(21));//报错
toPrecision()
接收一个参数,即表示数值的所有数字的位数(不包括指数部分),自动调用toFixed()或toExponential()
[注意]toFixed()里的参数只接受1-21,若不传参则不对原数字进行任何操作
var num = 10.1;
console.log(num.toPrecision(3));//10.1
console.log(num.toPrecision(2));//10
console.log(num.toPrecision(1));//1e+1
console.log(num.toPrecision());//10.1