1、ES5
// Number类型重写了valueOf() toLocaleString() toString('进制')方法 let a = 10 console.log(a.valueOf()); console.log(a.toLocaleString()); console.log(a.toString()); console.log(a.toString(2)); console.log(a.toString(8)); console.log(a.toString(10)); console.log(a.toString(16)); console.log(a.toFixed(3)) // 保留小数位数 console.log(a.toExponential(3)) // e表示法
2、ES6
ES6中Number是一个对象
- Number.isFinite() // 判断是否有限 返回布尔值
- Number.isNaN() // 判断是否为NaN 返回布尔值
- Number.parseInt('12.788') // 整数
- Number.parseFloat('12.788') // 浮点数
ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。
- Number.isInteger() // 判断一个数是否为整数 ,1 和 1.0 视为同一个数,都是整数,NaN 和 str 和 bool 都不是整数
- Number.EPSILON // 2.22044e-16 极小的常量,引入这么小的常量,目的在于为浮点数计算设置一个误差范围
console.log(Number.isFinite(15)) // true console.log(Number.isFinite(15.9)) // true console.log(Number.isFinite(NaN)) // false console.log(Number.isFinite(Infinity)) // false console.log(Number.isFinite(-Infinity)) // false console.log(Number.isFinite(true)) // false console.log(Number.isFinite('15')) // false console.log(Number.parseFloat('12.788')) // 12.788 console.log(Number.parseFloat('12.788###')) // 12.788 console.log(Number.parseInt('12.788')) // 12 console.log(Number.parseInt('12.788@@@')) // 12 console.log(Number.isInteger("20")) // false console.log(Number.isInteger(true)) // false console.log(Number.isInteger(NaN)) // false