纯牛奶645
纯牛奶645
  • 发布:2017-12-17 15:37
  • 更新:2017-12-17 15:37
  • 阅读:2431

Javascript Math 和 ceil()、floor()、round()三个函数的区别

分类:Native.js
js
Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数;  
Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数;  
Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数。  
alert(Math.ceil(25.9)); //26  
alert(Math.ceil(25.5)); //26  
alert(Math.ceil(25.1)); //26  
alert(Math.round(25.9)); //26  
alert(Math.round(25.5)); //26  
alert(Math.round(25.1)); //25  
alert(Math.floor(25.9)); //25  
alert(Math.floor(25.5)); //25  
alert(Math.floor(25.1)); //25

ECMAScript为保存数学公式和信息提供了公共位置,即Math对象。
Math对象提供的计算功能比我们自己直接在js中编写的计算功能快得多。
1.Math对象的属性

Math.E     // 自然对数的底数,即常量e的值  
Math.LN10  //10的自然对数  
Math.LN2     //2的自然对数  
Math.LOG2E   //以2为底e的对数  
Math.LOG10E // 以10为底的e的对数  
Math.PI              //π的值  
Math.SQRT1_2   //1/2的平方根(即2的平凡根的倒数)  
Math.SQRT2     //  2的平方根

2.min()和max()方法
这两个方法用于确定一组数组中的最小值和最大值。这两个方法都可以接收任意多个数值参数。

var max = Max.max(3,54,32,16);  
alert(max); //54  
这两个方法经常用于避免多余的循环和if语句中确定一组数的最大值。  
要找到数组中的最大或最小值,可以像下面这样使用apply()方法。
```javascript  
   var values = [1,2,3,5,7,9];  
var max = Math.max.apply(Math,values);

这个技巧的关键是把Math对象作为apply()的第一个参数,从而正确的设置this值。然后,可以将任何数组作为第二个参数。
3.舍入方法

Math.ceil( ) //向上舍入  
Math.floor( ) //向下舍入  
Math.round( )  //四舍五入

4.random()方法
Math.random()方法返回大于等于0小于1的一个随机数。对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件。套用下面的公式。就可以从某个整数范围内随机选择一个值。
值 = Math.floor(Math.random( ) * 可能值的总数 + 第一个可能的值)
公式中用到了Math.floor()方法,这是因为Math.random()总返回一个小数值
公式中用到了Math.floor()方法,这是因为Math.random()总返回一个小数值。而用这个小数值乘以一个整数,然后再加上一个整数,最终结果仍然还是一个小数。例如:

var num = Math.floor(Math.random() * 10 + 1);//获取1到10之间的随机数

如果想要选择一个介于2到10之间的值,如下:

var num = Math.floor(Math.random( ) * 9 + 2); //思考,无限接近于0时是2,无限接近于1时是11,但由于永远小于1,因此Math.floor的最大值为10。

从2数到10要数9个数,因此可能值的总数就是9,而第一个可能的值就是2。
多数情况下,其实都可以通过一个函数来计算可能值的总数和第一个可能的值。

function selectFrom(lowerValue,upperValue) {  
    var choices = upperValue - lowerValue+ 1;  
    return Math.floor(Math.random() * choices + lowerValue);  
}  
var num = selectFrom(2,10);  
alert(num); //介于2和10之间(包括2和10)的一个数值

函数selectFrom()
函数selectFrom()接受两个参数:应该返回的是最大值和最小值。而用最大值减最小值再加上1得到了可能值的总和,然后它又把这些数值套用了前面的公式中。利用这个函数,可以方便地从数组中随机取出一项。例如:

var colors = ["red","green","blue","yellow","purple"];  
var color = colors[selectFrom(0,colors.length-1)];  
alert(color);  //任何一个颜色

5.其他方法

Math.abs(num)  //返回num的绝对值  
Math.exp(num)     //返回Math.E的num次幂  
Math.log(num)       //返回num的自然对数  
Math.pow(num,power) //返回num的power次幂  
Math.sqrt(num)   //返回num的平方根  
Math.acos(x)     //返回x的反余弦值  
Math.asin(x)     //返回x的反正弦值  
Math.atan(x)     //返回x的反正切值  
Math.atan2(y,x)  //返回y/x的反正切值  
Math.cons(x)     //返回x的余弦值  
Math.sin(x)      //返回x的正弦值  
Math.tan(x)      //返回x的正切值
0 关注 分享

要回复文章请先登录注册