数字的表现形式:十进制、八进制和十六进制。十六进制以0x开头,八进制以0开头。在ActionScript中不管怎么设置数字,其内部结果总是以十进制存储。
1、不同数字类型之间可以强制转换。如果要输出其他进制,可使用toString()方法。语法如下:
对象.toString(进制数);(进制数为2到36的整数)
Var i:int=12;trace(i.toString(2));
Trace(new uint(25).toString(16));
2、parseInt()方法把指定的字符串转换为十进制数。其语法如下:
parseInt(字符串,字符串进制);
trace(parseInt(“1100”,2));
若不指定字符串进制,则默认为十进制,除非在字符串前加上0x和0。
Tarce(parseInt(0x12));tarce(parseInt(014));
若给出的字符串格式和指定进制冲突,这时字符串会默认为十进制。
请看以下冲突:
Trace(parseInt(“017”,10)); //显示17
Trace(parseInt(“0x12”,10)); //显示0
3、四舍五入
Math.round(数值);
其他:
Math.floor(2.4.99); //显示204
Math.ceil(401.01); //显示401
另外,四舍五入最好的方式是用NumberUtilities中的round()方法。NumberUtilities类是第三方的类,可到http://rightactionscript.com/ascb/下载,其所在包为ascb.util.
NumberUtilities.round(数值,间隔值);
import ascb.util.NumberUtilities;
trace(NumberUtilities.round(2.337,.01));
//显示2.34
4、格式化输出
var styler:NumberFormat=new NumberFormat("#,###,###,###.000");
trace(styler.format(123456));
// 123.456,000
NumberFormat与NumberUtilities在同一包下。
5、生成随机数
Math.random()方法可生成[0,1)的随机数。
NumberUtilities.random(最小值,最大值,间隔值);其中间隔值默认为1.也可以实数。
Trace(NumberUtilities.random(-10,10,2));
Trace(NumberUtilities.random(-10,10,0.1));