Math总结

Math.abs() 绝对值

Math.abs(-1) 得1

 

Math.ceil() 向上取整

Math.ceil(12.3) 得13

 

Math.floor() 向下取整

Math.floor(12.3) 得12

 

Math.round()四舍五入

Math.round(12.3) 得12

round这个数需要注意的是,如果是负数.5的时候不会进1,如果是正数.5会进一,如:

Math.round(-12.5) 得-12

Math.round(-12.6) 得-13

Math.round(12.5) 得13

这里进一不代表负数值变大,只是数字变大

 

Math.max()求最大值

Math.max(1,2,3,4,5,6,7,7,8,9,0,0,324,2,34,12,31,2,31,23,12,3,2,321,3123123,123,1,23)

结果:3123123

 

Math.min()求最小值 方法同max

 

Math.random()获取0-1的随机小数,可以取到0但是取不到1

 


例子:14-58之间的随机数 n-m之间的随机数 公式如下:Math.round(Math.random()*(m-n)+n); 拿14-58举例:58-14 = 44 *随机数就是0-44之间的数,如果是最大值是43.xxx约等于44(因为取不到44) 这个时候+14就是最大值约等于58但是取不到58 如果随机数是最小值0那+14就是最小值是14,所以就是14-58这个范围 四舍五入的话如果是57.5以上包含57.5是能取到58的

 

 

 

 

 1 <!--Math 生成4个0-61的随机数不重复-->
 2 
 3 <script type="text/javascript">
 4     /*首先来说下大体的思路:
 5      * 这里用到几个知识点:四舍五入Math.round(),随机数Math.random() isNaN(),还有就是周老师讲的公式  随机数*(大参数减小参数)+小参数
 6      */
 7    //判断条件是这样的:首先判断是不是数字所以要转化参数,然后判断是不是数字,这里用到Number 和isNaN
 8    //还有就是判断m和n的大小问题,如果n比m大就var一个变量进行对换
 9     /*首先创建一个数组用于接收随机数*/
10     var arrayList = new Array();
11     //计数器变量用于while循环
12     var num =0;
13     //循环100次输出看看结果中有没有重复的
14     while(num<100){
15         //调用随机数的自定义函数,传入参数
16         var result = randomNum('0',61);
17         console.log(result);
18         //给计数器加一
19         num++;
20     }
21 
22     function randomNum(m,n){
23         //每次都要先清空数组,要不那100次循环会因为数组没清空导致没法存值,100次输出每一次都是一样的4个值
24         arrayList = [];
25         //把参数转化为数字类型用于比较
26         m = Number(m);
27         n = Number(n);
28         //判断两个参数是不是数字
29         if((!isNaN(m)) && (!isNaN(n)))
30         {
31             //是的话进入循环产生随机数,这里40是随便写的大数目,因为只会存4个所以多写点也无所谓,为了防止产生不重复的次数过少
32             for(var i=0;i<40;i++)
33             {
34                 //生成随机数
35                 var randomObj = Math.round(Math.random()*(m-n)+n);
36                 //先判断数组的长度,以防存入过多,够4个就返回
37                 if(arrayList.length == 4)
38                 {
39                     return arrayList;
40                 }
41                 //再判断数组中有没有这个随机数达到去重复的效果
42                 if(arrayList.indexOf(randomObj)<0)
43                 {
44                     //存入数组
45                     arrayList.push(randomObj);
46                 }
47             }
48         }
49         else
50         {
51             return "这不是一个数字";
52         }
53 
54     }
55 
56 
57 
58 
59 
60 </script>

 

posted @ 2017-04-02 23:03  指尖的青春  阅读(232)  评论(0编辑  收藏  举报