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:
// Theradix
is 2, so output as binary. trace(new Number(51).toString(2)); // Displays: "110011" // Theradix
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 ...
Get Actionscript Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.