JavaScript类型系统之Number(3)

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24971e9814124ae25cd58258e6108aef.html