as3.0 中的不同数字类型转换简介

类型:二进制、八进制、十进制、十六进制

不管如何,你在AS中设置一个数值,最后的结果都是返回一个十进制,例如:
//建立一个 Color 对像
var pink:ColorTransform = new ColorTransform(  );
// 设置 RGB 值为一个十六进制值
pink.rgb = 0xF612AB;
// 输出的值是一个十进制: 16126635
trace(pink.rgb);

如果想输出一个不同类型的值,可以用以下几种方法:

一、toString(进制) 方法,例:
1.
trace(new uint(51).toString(2));  // 输出二进制: 110011
trace(new uint(25).toString(16)); // 输出十六进制: 19
2.
var quantity:Number = 164;
trace(quantity.toString(16)); // 输出十六进制: a4
3.
var pink:Color = new ColorTransform(  );
pink.rgb = 0xF612AB;
trace(pink.rgb.toString(16));  // 输出十六进制: f612ab

二、parseInt 函数
parseInt(expression:String, [radix:Number]) : Number
将字符串转换为整数。如果参数中指定的字符串不能转换为数字,则此函数返回 NaN。以 0x 开头的字符串被解释为十六进制数字。以 0 开头的整数或指定基数为 8 的整数被解释为八进制数字。有效整数前面的空白将被忽略,有效整数后面的非数字字符也将被忽略。

返回
Number - 一个数字或 NaN(非数字)。

trace(parseInt("110011", 2));  // Displays: 51
trace(parseInt("19", 16));     // Displays: 25
trace(parseInt("17", 10));     // Displays: 17
trace(parseInt("A9FC9C"));     // NaN


trace(parseInt("017",  10));   // Displays: 17 (not 15)
//虽然"017"是以0开头(八进制),但是它后面有指定一个基数10,所以把"017" 当成是十进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值