[AS3]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" 当成是十进制
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例