Solved

Flash MX currency view

Posted on 2003-11-03
6
665 Views
Last Modified: 2013-12-13
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
0
Comment
Question by:noob_x
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
6 Comments
 
LVL 1

Expert Comment

by:Skytzo
ID: 9744844

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;
      
0
 
LVL 1

Accepted Solution

by:
Skytzo earned 125 total points
ID: 9902727
Here is the Verbatim ActionScript Code.  Please make sure that the expert understands actionscript and can run it.
It requires the expert setting up some dynamic and static text fields corresponding to number and temp.


number.text = "";
count = temp.text;

if (count > 1000)
{
     decimal = count%1.0;
     
     output = String(count-decimal);
     temp_array = new Array();

     number_length = output.length - 1;
     
     for (i = 0; i < output.length; i++) {
          if (i%3 == 0 && i != 0)
               temp_array.push(",");
         
          temp_array.push(output.charAt(number_length - i));
     }

     while (temp_array.length)
          number.text += temp_array.pop();

     output = String(decimal);
     for (i = 1; i < output.length; i++)
          number.text += output.charAt(i);
}
else
     number.text = count;
     
0
 
LVL 1

Expert Comment

by:Skytzo
ID: 9902734
A working example can be found for the time being at

http://www.islefx.com
0

Featured Post

What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is an explanation of a simple data model to help parse a JSON feed
In this post we will learn different types of Android Layout and some basics of an Android App.
Simple Linear Regression
Progress

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question