数字进制输出。

下面两个例子是将unit对象转换输出二进制和十六进制的字符串。
// The radix is 2, so output as binary
trace(new uint(51).toString(2));  // Displays: 110011
// The radix is 16, so output as hex
trace(new uint(25).toString(16)); // Displays: 19
    当一个被符值的数字变量使用toString()方法时,flash会在执行toString()方法前自动建立一个新的Number, uint或int对象。虽然这不是典型的良好的习惯,但也不是技术上的错误,和在大部分应用程序的不同是可以忽略的。
var quantity:Number = 164;
trace(quantity.toString(16)); // Displays: a4
    注意:这些例子的结果不是数字类型,而是字符串,像110011,19,A4。
    下面的例子是设置一个ColorTransform对象的RGB值,执行toString()结果显示一个十六进制的值。
// Create a Color object
var pink:Color = new ColorTransform(  );

// Set the RGB value as a hexadecimal
pink.rgb = 0xF612AB;

trace(pink.rgb.toString(16));  // Displays: f612ab

    toString() 方法的基数叁数的有效范围是从 2 到 36。如果执行toString()不含参数或者无效参数,那么默认返回的是十进制。
    用含有参数的parseInt()函数可以达到toString()的逆运算。parseInt()函数含有一个字符串值和一个数字。这有利于除十进制的工作。
    下面三个例子展示了从二进制,十六进制和十进制的字符串转化为数字(注意这个结果总是一个十进制的)。
trace(parseInt("110011", 2));  // Displays: 51
trace(parseInt("19", 16));     // Displays: 25
trace(parseInt("17", 10));     // Displays: 17
    如果省略,基数参数默认识10,除非、字符串以0x或0开头,这种情况默认是十六进制或八进制:
trace(parseInt("0x12"));     // The radix is implicitly 16. Displays: 18
trace(parseInt("017"));      // The radix is implicitly 8. Displays: 15
    一个明确的基数会覆盖模糊的。在下面的例子中,得到的结果是0而不是12。当这个数被以十进制处理,碰到非数字字符x时转换会停止:
// The number is treated as a decimal, not a hexadecimal number
trace(parseInt("0x12", 10));   // Displays: 0 (not 12 or 18)
    这样,在数字前面的0会被当作一个自由数字处理,而不是一个八进制的数:
// The number is treated as a decimal, not an octal number
trace(parseInt("017",  10));   // Displays: 17 (not 15)
    千万不要忘记0,0x或一个明确的基数。下面输入的字符串作为十进制而返回NaN(不是数字)因为A不能转换成是个整数:
trace(parseInt("A9FC9C"));     // NaN


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/ecitnet/archive/2008/01/24/2063238.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值