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

 

posted @ 2021-09-26 00:00  jerryfish  阅读(119)  评论(0编辑  收藏  举报