O'Reilly logo

Actionscript Cookbook by Joey Lott

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

5.2. Converting Between Different Number Systems

Problem

You want to convert a number between different bases (decimal, binary, hexadecimal, etc.).

Solution

Use the parseInt( ) function with the radix parameter (the radix is the number’s base) to convert a string to a decimal representation. Use the Number.toString( ) method with the radix parameter to convert a decimal number to a string representation of the value in another base.

Discussion

No matter how you set a number value in ActionScript, the result is always retrieved as a decimal (base-10) number.

// Create a Color object.
myColor = new Color(this);

// Set the RGB value as a hexadecimal.
myColor.setRGB(0xF612AB);

// This displays the value as decimal: 16126635
trace(myColor.getRGB(  ));

However, if you want to output a value in a different base, you can use Number.toString( radix ) to convert any number value to a string representing that number in the specified base.

These two examples convert numeric literals to Number objects and output the string representations in base-2 (binary) and base-16 (hexadecimal) format:

// The radix is 2, so output as binary.
trace(new Number(51).toString(2));  // Displays: "110011"
// The radix is 16, so output as hex.
trace(new Number(25).toString(16)); // Displays: "19"

This example assigns a primitive number to a variable and calls the toString( ) method to output the value in hexadecimal:

myNum = 164;
trace(myNum.toString(16)); // Displays: "A4"

Note that the results from these examples are ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required