Link to home
Start Free TrialLog in
Avatar of noob_x
noob_x

asked on

Flash MX currency view

how do i make the numbers in the dynamic text box appear to have two decimal places eg currency(Flash MX)
thanx
p.s i am calculaitng a cost on one frame and when button pressed the output is shown on the next frame
Avatar of sunnycoder
sunnycoder
Flag of India image

Avatar of Skytzo
Skytzo


This one took a while but I think I have it.  I am assuming that you are using actionscript, as this is the only way you can do this.

Here is the Code, with some comments.  I called my dynamic Text Box "number".  I know it is a bit long, but I tried this various ways, and this is the shortest I could come up with.

count is just a number that I used to test on.


count = 123456789.56;

if (count > 1000)
{
               // Get rid of the decimal
      decimal = count%1.0;
      
                // Turn everything but the decimal into a string, as this is what you want to add comma's or periods to
      output = String(count-decimal);
                //Declare a new array
      temp_array = new Array();

                // This is just used as a holder for the string length from base 0              
      number_length = output.length - 1;
      
                // Iterate over string, and add comma's where required, at every third character
      for (i = 0; i < output.length; i++) {
            if (i%3 == 0 && i != 0)
                  temp_array.push(",");
            
            temp_array.push(output.charAt(number_length - i));
      }

               // Pop the items off of the stack and print them to the dynamic string on the screen for the user
      while (temp_array.length)
            number.text += temp_array.pop();

                // Time to add the decimal
      output = String(decimal);

               // Remember to not add the initial 0 in the decimal.  only everything from the decimal point onwards
      for (i = 1; i < output.length; i++)
            number.text += output.charAt(i);
}
else // If the number is smaller than 1000, use as is
      number.text = count;
      
ASKER CERTIFIED SOLUTION
Avatar of Skytzo
Skytzo

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
A working example can be found for the time being at

http://www.islefx.com