·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3关于数字方面的取整,随机数,小数点精度,度数等介绍

时间:2012-09-11 13:35CuPlayer.com
[AS3]as3关于数字方面的取整,随机数,小数点精度,度数等介绍,使用Math.round()对一个数取整,四舍五入,产生一个随机数,使用Math.floor()对一个数向下取整,就是只要整数部分而不理会小数分

使用Math.round()对一个数取整,四舍五入

  1. Math.round()  
  2. trace(Math.round(204.499)); //输出:204  
  3. trace(Math.round(401.5)); //输出:402 

使用Math.floor()对一个数向下取整,就是只要整数部分而不理会小数分

  1. trace(Math.floor(204.99)); //输出:204 

使用Math.ceil()对一个数向上取整,只要小数部分不为零,整数部分就加1

  1. trace(Math.ceil(401.01)); //输出:402 

产生一个随机数

使用Math.random()产生一个伪随机数n,其中 0 <= n < 1


把数字取至最近的小数点位,即指定精确度
  1. 决定你要取的数字的小数点位数:例如,如果你想把90.337取成90.34,就表示你要取到两位小数点位,也就是说你想取至最近的0.01;
  2. 让输入值除以步骤1所选的数字(此例为0.01);
  3. 使用Math.round()把步骤2所计得的值取成最近的整数;
  4. 把步骤3所得的结果乘以步骤2用于除法的那个值.
  例如,要把90.337取成两个小数点位数,可以使用:

  1. trace(Math.round(90.337/0.01)*0.01); //输出:90.34 

把数字取成一个整数的最接近倍数值

  例1,这样会把92.5取成5的最近倍数值:

  trace(Math.round(92.5/5)*5); //输出:95

  例2,这样会把92.5取成10的最近倍数值:

  trace(Math.round(92.5/10)*10); //输出:90


在指定数值范围内获得随机数

  1. //可取范围:[min, max]  
  2. private function randRange(min:Number, max:Number):Number {  
  3.     var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;  
  4.     return randomNum;  

应用例子:

  模拟投银币,即希望得到随机布尔值(true 或 false): randRange(0, 1);
  模拟投骰子,即希望得到随机六个值: randRange(1, 6);
  为避免被缓存而需要产生一个独一无二的数字追加在URL尾端,通常最佳方法是取得当前毫秒数.

弧度(radian)与度数(degree)之间的转换

  从弧度转为度数: degrees = radians * 180 / Math.PI
  从度数转为弧度: radians = degrees * Math.PI / 180

计算两点之间的距离
  勾股定理: c2 = a2 + b2
  假设有两个影片剪辑mc1和mc2,则它们两点间的距离c为:
  var c:Number = Math.sqrt(Math.pow(mc1.x - mc2.x, 2) + Math.pow(mc1.y - mc2.y, 2));

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器