AS3基础教程-第25课-Math类(下)

2026-01-02 04:52:42

1、Math.abs(参数)

说明:计算并返回 参数 的绝对值。

参数必须是Number数字类型,返回值是Number数字类型(不含负数)

举例:

trace(Math.abs(-3.6))

输出的结果是3.6 也就是数字-3.6的绝对值

2、三个取整的方法

<1>Math.round(参数)

说明:对参数进行取整操作,按照四舍五入的方式取整

举例:

trace(Math.round(5.61323))//输出为6

trace(Math.round(5.15533))//输出为5

<2>Math.floor(参数)

说明:对参数进行取整操作,只保留整数部分,小数点后的所有数码一概舍去

举例:

trace(Math.floor(5.61323))//输出为5

trace(Math.floor(5.15533))//输出为5

<3>Math.ceil(参数)

说明:对参数进行取整操作,无视小数点后的所有数码,一律进一

举例:

trace(Math.ceil(5.61323))//输出为6

trace(Math.ceil(5.15533))//输出为6

3、Math.max(参数1,参数2,参数3,.......参数n)

说明:本方法的参数至少有两个,各参数之间当然是用逗号隔开了。

本方法的返回值是所有参数中的最大值

举例:

trace(Math.max(5,77,127,-999))//输出为127

4、Math.min(参数1,参数2,参数3,.......参数n)

说明:本方法的参数至少有两个,各参数之间当然是用逗号隔开了。

本方法的返回值是所有参数中的最小值

举例:

trace(Math.min(5,77,127,-999))//输出为-999

5、Math.pow(参数1,参数2)

说明:本方法的参数只能有两个

本方法的返回值是 参数1的参数2次方

举例:

trace(Math.pow(2,4))//输出为16,亦即2的4次方

6、Math.random()

说明:本方法没有参数!

本方法的返回值是一个随机数n 

0 <= n < 1

前面章节已经介绍过,这里不再赘述

7、Math.sqrt(参数)

说明:本方法返回的是参数的算数平方根

参数必须是 非负数

举例:

trace(Math.sqrt(16))//输出为4

1、使用Math.random()产生的随机数,一定≥0 ,且<1 。

这样一来,返回的随机数一定是小数,而且,小数的位数特别多。

通常情况下,我们需要产生的是比1大的 整数。

此时,就需要配合 取整函数了

下面分别陈列一些比较常用的情况

2、目的:输出的随机数是 两位数n (10≤n≤99)

代码:

var min:uint=10

var max:uint=99

var result:uint=Math.round(Math.random()*(max-min))+min

trace(result)

请大家自行分析本例的公式,可以非常方便地定义随机数的取值范围。

为了验证自己编写的代码的正确性,我们可以使用for循环,让这段代码运行2000次:

var min:uint=10

var max:uint=99

var result:uint

for(var i:uint;i<2000;i++){

result=Math.round(Math.random()*(max-min))+min

if(result==100){

trace("出现了数字100")

}

else if(result==9){

trace("出现了数字9")

}

}

测试影片,发现,输出面板没有任何字符。证明我们写的代码确实坚挺。

3、目的:输出的随机数是 两位数n (10<n≤99)

代码:

var min:uint=10

var max:uint=99

var result:uint=Math.ceil(Math.random()*(max-min))+min

trace(result)

仅需将步骤2内的Math.round替换为Math.ceil即可

可以参照步骤2的代码自行验证

其实,由于本例的代码输出的随机数n要求是整数,那么,10<n≤99

也就相当于11≤n≤99

如此一来,完全可以按照步骤2内的代码,仅需将

var min:uint=10

内的数字10修改为数字11,也可以实现完全相同的目的

4、当然,我们也可以输出带有小数的随机数。

比如说,需要输出介于12.5和21.7之间的随机数,该随机数可以有小数,也可以没有小数。如果有小数的话,只保留到小数点后一位数

代码如下:

var min:Number=12.5

var max:Number=21.7

var result:Number

for(var i:uint;i<50;i++){

result=Math.round(Math.random()*(max*10-min*10))/10+min

trace(result)

}

这里,先是将两个极致都转换成整数(都乘以10),然后将结果再除以10,最后对除以10的结果进行四舍五入操作。这个技巧也比较的常用,推荐大家掌握之。

同理,如果需要保留到小数点后两位数,又当如何呢?开动脑筋想想看。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢