首页 > 代码库 > Math总结
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>
Math总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。