es6中的数值扩展

2021-03-01  本文已影响0人  浅浅_2d5a

//数值扩展
// Number.EPSILON 是JavaScript 的最小精度 如果2个数的差值小于 Number.EPSILON ,我们认为他们相等
// 主要用于浮点数的运算

function equal(a,b){
    if(Math.abs(a-b) < Number.EPSILON){
        return true;
    }else{
        return false;
    }
}
console.log(equal(0.1+0.2,0.3))

//开头写法 二进制0b、八进制0o、十六进制oX

let secondNumber = 0b1010;
console.log(secondNumber) //10
let eightNumber = 0o0777;
console.log(eightNumber) //511
let sixteenNumber = 0x0157; 
console.log(sixteenNumber) //343

//检测一个数值是否为有限数

console.log( Number.isFinite(100) ); //true
console.log( Number.isFinite(100/0) ); //false
console.log( Number.isFinite(Infinity) ); //false  正无穷

//把isNaN 挂到Number上,es5中,isNaN是单纯的方法 任何数值除以0会返回NaN
//NaN Not a Number

let x = 5/0 //Infinity 重点
let y = 0/0 //NaN  重点
console.log( Number.isNaN(x) ) //false
console.log( Number.isNaN(y) ) //true
console.log( Number.isNaN(123) ) //false

parseInt、parseFloat 挂到Number上,es5是独立的

console.log( Number.parseInt('323.02oanogngo'))//323
console.log( Number.parseFloat('3.2302oanogngo'))//3.2302

//判断一个数是不是整数

console.log(Number.isInteger(123)); //true
console.log(Number.isInteger(123.890)); //false
console.log(Number.isInteger('123.8PPP')); //false

//将数值的小数抹掉,不进行四舍五入

console.log( Math.trunc(5.78)) //5
console.log( Math.trunc('xonsn')) //NaN

//检测一个数,是正数、负数、还是0

console.log(Math.sign(11)) //1
console.log(Math.sign(-11)) //-1
console.log(Math.sign(0)) //0
上一篇 下一篇

猜你喜欢

热点阅读