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

[AS3]as3.0中的不同数字类型转换

时间:2015-02-25 09:45酷播
as3.0 中的不同数字类型转换

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" 当成是十进制

热门文章推荐

请稍候...

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

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