您的位置:首页 > 其它

[Wondgirl]ECMAScript6(ES6)(六)数值的扩展

2017-01-17 11:33 399 查看
<script type="text/javascript">
//字符串转换成 整型
//---ES5写法
console.log(parseInt('44.64'));//44(舍去取整)
//---ES6写法
console.log(Number.parseInt('44.64'));//44(舍去取整)
//字符串转换成浮点型
//---ES5写法
console.log(Number.parseFloat('44.34'));//44.34
//---ES6写法
console.log(Number.parseFloat('44.34'));//44.34

//Number.isInteger用来判断一个值是否为整数
console.log(Number.isInteger(20));//true
console.log(Number.isInteger(20.4));//false
console.log(Number.isInteger(20.0));//true
console.log(Number.isInteger("20"));//false
console.log(Number.isInteger(true));//false
//Number.EPSION极小值
console.log(Number.EPSILON);//2.220446049250313e-16
console.log(Number.EPSILON.toFixed(20));//用小数点后20位显示极小值 0.00000000000000022204

//引入一个极小值的目的是为浮点数计算设置一个误差范围
console.log(0.1+0.2);//0.30000000000000004
console.log(0.1+0.2-0.3);//5.551115123125783e-17
if(((0.1+0.2) == 0.3) < Number.EPSILON)
{
console.log("等于");  //ok
}
else
{
console.log("不等于");
}

//判断两个浮点数是否相等
function withinErrorMargin(num1,num2){
return Math.abs(num1-num2) < Number.EPSILON;
}
console.log(withinErrorMargin(1.2+1.5,2.7));//true
console.log(withinErrorMargin(1.2+1.5,2.8));//false

// Math.trunc:用于去除一个数的小数部分,返回整数部分
console.log(Math.trunc(5.1));      //5
console.log(Math.trunc(5.8));      //5
console.log(Math.trunc(-5.1));     //-5
console.log(Math.trunc(-5.8));     //-5
console.log(Math.trunc(-0.12345)); //-0

// 对于非数值,Math,trunc内部会使用Number方法将其转换为数值
console.log(Math.trunc('45.23')); //45

//对于空值和无法取整数的值,返加NaN
console.log(Math.trunc(NaN)); // NaN
console.log(Math.trunc("hello")); // NaN
console.log(Math.trunc()); // NaN

// Math.sign:用于判断一个数到底是正数、负数、0
//1.参数为正数:返回+1
//2.参数为负数:返回-1
//3.参数为0:返回0
//4.参数为-0:返回-0
//5.其他值:返回NaN
console.log(Math.sign(50));//1
console.log(Math.sign(-50));//-1
console.log(Math.sign(0));//0
console.log(Math.sign(-0));//-0
console.log(Math.sign('world'));//NaN
console.log(Math.sign());//NaN

//  Math.cbrt:用于计算一个数的立方根
console.log(Math.cbrt(-1));  //-1
console.log(Math.cbrt(-8));  //-2
console.log(Math.cbrt('-27'));  //-3
console.log(Math.cbrt('hello'));  //NaN

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: