es6数值拓展
Posted eyes++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6数值拓展相关的知识,希望对你有一定的参考价值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
/*
Number.EPSILON 是javascript 表示的最小精度
EPSILON 属性接近于 2.220446049250313e-16,若两个数都小于它,则js默认两者相等
*/
console.log(0.1+0.2); // 0.30000000000000004
console.log(0.1 + 0.2 === 0.3); // false
let equal = (a, b) => {
if(Math.abs(a-b) < Number.EPSILON){
return true;
} else{
return false;
}
}
console.log(equal(0.1 + 0.2, 0.3)); // true
console.log('----------');
// 常用进制
let a = 0b1010; // 二进制表示方式:0b 开头
console.log(a); // 10
let b = 0o7654; // 八进制表示方式:0o 开头
console.log(b); // 4012
let c = 0xffa5; // 十六进制表示方式:0x 开头
console.log(c); // 65445
console.log('----------');
// Number.isFinite 检测一个数是否为有限数
console.log(Number.isFinite(100)); // true
console.log(Number.isFinite(100/0)); // false
console.log(Number.isFinite(Infinity)); // false
console.log('----------');
/*
Number.isNaN 检测一个数值是否为 NaN (not a number)
NaN:
1.not a number 不是一个数值
2.表示存储数据的数据类型,不是一个数值
3.如果有非数值进行运算,结果就是NaN
*/
console.log(Number.isNaN(123)); // false
let d = 7 * "abc";
console.log(Number.isNaN(d)); // true
console.log('----------');
// Number.parseInt Number.parseFloat字符串转整数
console.log(Number.parseInt('123456abc78')); // 123456
console.log(Number.parseInt('123.456abc')); // 123
console.log(Number.parseFloat('123456abc78')); // 123456
console.log(Number.parseFloat('123.456abc')); // 123.456
console.log('----------');
// Number.isInteger 判断一个数是否为整数
console.log(Number.isInteger(5)); // true
console.log(Number.isInteger(2.5)); // false
console.log('----------');
// Math.trunc 将数字的小数部分抹掉
console.log(Math.trunc(3.5)); // 3
console.log('----------');
// Math.sign 判断一个数是正数还是负数还是零
console.log(Math.sign(100)); // 1
console.log(Math.sign(0)); // 0
console.log(Math.sign(-100)); // -1
</script>
</body>
</html>
以上是关于es6数值拓展的主要内容,如果未能解决你的问题,请参考以下文章