这篇文章整理了 Math 的常用属性以及生产随机数的方法,后面遇到会继续更新
1.基本知识
parseInt() --返回整数
parseFloat() --返回浮点数
% --取余
Math.min() --返回最小值
Math.max() --返回最大值
Math.ceil() 向上取整,丢弃小数
Math.floor() 向下取整,丢弃小数
Math.round() 四舍五入
Math.random() 返回[0,1}之间的随机数,包含0,不包含1
2.保留两位小数
(1):toFixed(2) 会进行四舍五入
2.44665.toFixed(2) = 2.45
2.44265.toFixed(2) = 2.44
(2):Math.floor 向下取整,不会进行四舍五入
Math.floor(2.44665 * 100) / 100 = Math.floor(244.665) / 100 = 244 / 100 = 2.44
3.随机数
Math.random() 生成 [0-1) 之间随机数
Math.random() * 10 生成 [0 - 10) 之间随机数
Math.ceil(Math.random() * 10) 生成 [0 - 10] 之前的随机数 0 的概率极小
Math.round(Math.random()); //可均衡获取0到1的随机整数。 四舍五入 0,1 都有机会取到
Math.floor(Math.random()*10); //可均衡获取0到9的随机整数。向下取整数字最高到9
Math.round(Math.random()*10); //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
因为结果在0~0.4 为0,0.5到1.4为1...8.5到9.4为9,9.5到9.9为10。所以头尾的分布区间只有其他数字的一半。
生成 [ 1 - max ] 之间随机数公式:
parseInt((Math.random() * max + 1),10)
Math.ceil(Math.random() * max)
Math.floor(Math.random() * max) + 1
生成 [0 - max ] 之间随机数
parseInt(Math.random() * (max + 1),10)
Math.floor(Math.random() * (max + 1))
生成 [min - max] 之间的随机数
parseInt((Math.random() * (max - min + 1) + min),10)
Math.floor(Math.random() * (max - min + 1) + min)
扩展:也可以用此公式 产生随机 rgb 颜色