不同数字类型之间的转换(actionscript3.0)

来源:互联网 发布:mac滴管粉底液 nc15 编辑:程序博客网 时间:2024/05/18 12:42

问题
我要把当前数字类型转换为别的数字类型
解决办法
用parseInt( ) 函数把字符串转换为十进制数,用Number, uint, 或int 对象的toString( ) 方法
转换为字符串。
讨论
在ActionScript中不管你怎么设置数字,它的内部结果总是以十进制存贮:
// 创建颜色对象
var pink:ColorTransform = new ColorTransform( );
// 用十六进制设置RGB
pink.rgb = 0xF612AB;
// 显示这个值时:16126635
trace(pink.rgb);
如果你要输出为其他表示法,用toString( radix ) 方法
下面的例子用构造uint对象,输出不同的的格式:
// radix 为2, 输出二进制
trace(new uint(51).toString(2)); // 显示: 110011
// radix 为16, 输出十六进制
trace(new uint(25).toString(16)); // 显示:19
var quantity:Number = 164;
trace(quantity.toString(16)); // 显示: a4
下面的例子设置ColorTransform 对象的RGB值,调用toString( ) 以十六进制显示:
var pink:Color = new ColorTransform( );
pink.rgb = 0xF612AB;
trace(pink.rgb.toString(16)); // 显示:f612ab
toString( ) 方法的参数值的合法范围在2到36,如果没有指定参数值,默认为10。
和toString( ) 相反的是parseInt( ) 函数。它把指定的字符串转换为数字。
下面的代码把各种字符串,输出十进制数。
trace(parseInt("110011", 2)); // 显示: 51

http://blog.csdn.net/lixinye0123
trace(parseInt("19", 16)); // 显示: 25
trace(parseInt("17", 10)); // 显示: 17
如果不指定字符串进制,默认为十进制,除非在字符串前加上0x, 0X, 或0:
trace(parseInt("0x12")); // 显示: 18
trace(parseInt("017")); // 显示: 15
下面的例子给出的字符串格式和指定进制冲突,这时会默认为十进制
// 但是下面的字符串是不合法的数字,因此返回0
trace(parseInt("0x12", 10)); // 显示: 0
下面的字符串为八进制,但指定为十进制,因此系统默认字符串为十进制,而不是八进制。
trace(parseInt("017", 10)); // 显示17
trace(parseInt("A9FC9C")); // NaN

原创粉丝点击