js es6数值扩展
1.Number.EPSILON
Number.EPSILON 是JavaScript表示的最小精度
EPSILON属性的值接近于 2.2204460492503130808472633361816E-16
他可以用来忽略掉浮点数的精度误差
例如我们都知道JavaScript中 0.1 + 0.2 不等于0.3
但是用以下方法比较是可以认为他们相等的
// 1.Number.EPSILON 是JavaScript表示的最小精度 // EPSILON属性的值接近于 2.2204460492503130808472633361816E-16 function equal(a,b){ if(Math.abs(a-b) < Number.EPSILON){ return true; } else { return false; } } console.log(0.1 + 0.2 === 0.3);//false console.log(equal(0.1 + 0.2, 0.3));//true
2.二进制和八进制
// 2.二进制和八进制 let b = 0b1010;//二进制 0b开头 let o = 0o777;//八进制 0o开头 let x = 0xff//十六进制 0x开头 console.log(b);//10 console.log(o);//511 console.log(x);//255
3.Number.isFinite 检测一个数值是否为有限数
// 3.Number.isFinite 检测一个数值是否为有限数 console.log(Number.isFinite(1));//true console.log(Number.isFinite(1/0));//false
4.Number.isNaN检测一个数值是否为NaN
// 4.Number.isNaN检测一个数值是否为NaN console.log(Number.isNaN(123));//true console.log(Number.isNaN(this));//false
5.Number.parseInt Number.parseFloat字符串转为数字 碰到非数字不加入最后结果中
// 5.Number.parseInt Number.parseFloat字符串转为数字 碰到非数字不加入最后结果中 console.log(Number.parseInt("123哈哈哈"));//123 console.log(Number.parseFloat("3.1415926圆周率"));//3.1415926
6.Number.isInteger判断一个数是否为整数
// 6.Number.isInteger判断一个数是否为整数 console.log(Number.isInteger(1));//true console.log(Number.isInteger(1.1));//false
7.Math.trunc 将数字的小数部分抹掉
// 7.Math.trunc 将数字的小数部分抹掉 console.log(Math.trunc(1.5));//1
8.Math.sign 判断一个数到底为正数(返回1) 负数(返回-1) 还是零(返回0)
// 8.Math.sign 判断一个数到底为正数(返回1) 负数(返回-1) 还是零(返回0) console.log(Math.sign(100));//1 console.log(Math.sign(0));//0 console.log(Math.sign(-100));//-1