ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
spark.formatters 

CurrencyFormatter  - AS3 Flex

Packagespark.formatters
Classpublic class CurrencyFormatter
InheritanceCurrencyFormatter Inheritance NumberFormatterBase Inheritance GlobalizationBase Inheritance AdvancedStyleClient Inheritance EventDispatcher Inheritance Object
Implements IFormatter

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The CurrencyFormatter class provides locale-sensitive formatting and parsing of currency values.

This class is a wrapper class around the flash.globalization.CurrencyFormatter. Therefore, the locale-specific formatting is provided by the flash.globalization.CurrencyFormatter. However, this CurrencyFormatter class can be used in MXML declarations, uses the locale style for the requested Locale ID name, and has methods and properties that are bindable.

The flash.globalization.CurrencyFormatter class uses the underlying operating system for the formatting functionality and to supply the locale specific data. On some operating systems, the flash.globalization classes are unsupported, on these systems this wrapper class provides fallback functionality.

MXML SyntaxexpandedHide MXML Syntax

The <s:CurrencyFormatter> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <s:CurrencyFormatter 
    Properties
    currencyISOCode="locale and OS dependent"
    currencySymbol="locale and OS dependent"
    negativeCurrencyFormat="locale and OS dependent"
    positiveCurrencyFormat="locale and OS dependent"
    useCurrencySymbol="false"
  />
  

View the examples

More examples

Learn more

Related API Elements



Public Properties
 PropertyDefined By
  actualLocaleIDName : String
[override] [read-only] The name of the actual locale ID used by this class object.
CurrencyFormatter
 InheritedclassName : String
[read-only] The name of the component class.
AdvancedStyleClient
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  currencyISOCode : String
The three letter ISO 4217 currency code for the actual locale being used (e.g.
CurrencyFormatter
  currencySymbol : String
The currency symbol or string for the actual locale being used.
CurrencyFormatter
 InheriteddecimalSeparator : String
The decimal separator character used for formatting or parsing numbers that have a decimal part.
NumberFormatterBase
 InheriteddigitsType : uint
Defines the set of digit characters to be used when formatting numbers.
NumberFormatterBase
 InheritederrorText : String
Replacement string returned by the format() method when an error occurs.
NumberFormatterBase
 InheritedfractionalDigits : int
The maximum number of digits that can appear after the decimal separator.
NumberFormatterBase
 InheritedgroupingPattern : String
Describes the placement of grouping separators within the formatted number string.
NumberFormatterBase
 InheritedgroupingSeparator : String
The character or string used for the grouping separator.
NumberFormatterBase
 Inheritedid : String
The identity of the component.
AdvancedStyleClient
 InheritedinheritingStyles : Object
An object containing the inheritable styles for this non-visual style client instance.
AdvancedStyleClient
 InheritedlastOperationStatus : String
[override] [read-only] The status of the most recent operation that this class object performed.
NumberFormatterBase
 InheritedleadingZero : Boolean
Specifies whether a leading zero is included in a formatted number when there are no integer digits to the left of the decimal separator.
NumberFormatterBase
 InheritedmoduleFactory : IFlexModuleFactory
A module factory is used as context for finding the style manager that controls the styles for this non-visual style client instance.
AdvancedStyleClient
  negativeCurrencyFormat : uint
A numeric value that indicates a formatting pattern for negative currency amounts.
CurrencyFormatter
 InheritednegativeSymbol : String
The negative symbol to be used when formatting negative values.
NumberFormatterBase
 InheritednonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles.
AdvancedStyleClient
  positiveCurrencyFormat : uint
A numeric value that indicates a formatting pattern for positive currency amounts.
CurrencyFormatter
 InheritedstyleDeclaration : CSSStyleDeclaration
The style declaration that holds the inline styles declared by this object.
AdvancedStyleClient
 InheritedstyleManager : IStyleManager2
[read-only] Returns the StyleManager instance used by this component.
AdvancedStyleClient
 InheritedstyleName : Object
The source of this object's style values.
AdvancedStyleClient
 InheritedstyleParent : IAdvancedStyleClient
A component's parent is used to evaluate descendant selectors.
AdvancedStyleClient
 InheritedtrailingZeros : Boolean
Specifies whether trailing zeros are included in a formatted number.
NumberFormatterBase
  useCurrencySymbol : Boolean
Enables the use of the currencySymbol property when formatting currency amounts.
CurrencyFormatter
 InheriteduseGrouping : Boolean
Enables the use of the grouping separator when formatting numbers.
NumberFormatterBase
Public Methods
 MethodDefined By
  
Constructs a new CurrencyFormatter object to format numbers representing currency amounts according to the conventions of a given locale.
CurrencyFormatter
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
 Inherited
Deletes a style property from this component instance.
AdvancedStyleClient
 Inherited
Dispatches an event into the event flow.
EventDispatcher
  
Creates a string representing a currency amount formatted according to the current properties of this CurrencyFormatter object, including the locale, useCurrencySymbol, the currencySymbol, or the currencyISOCode properties.
CurrencyFormatter
  
Determines whether the currently specified currency symbol can be used when formatting currency amounts.
CurrencyFormatter
  
[static] Lists all of the locale ID names supported by this class.
CurrencyFormatter
 Inherited
Returns an Array of CSSStyleDeclaration objects for the type selector that applies to this component, or null if none exist.
AdvancedStyleClient
 Inherited
getStyle(styleProp:String):*
[override] Gets a style property that has been set anywhere in this component's style lookup chain.
GlobalizationBase
 Inherited
Returns true if currentCSSState is not null.
AdvancedStyleClient
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
The initialized method is called when this class or a class that extends this class is used in an MXML declaration.
AdvancedStyleClient
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Returns true if cssState matches currentCSSState.
AdvancedStyleClient
 Inherited
Determines whether this instance is the same as, or is a subclass of, the given type.
AdvancedStyleClient
 Inherited
Propagates style changes to the children of this style client instance.
AdvancedStyleClient
  
Parses a string into a currency amount and a currency symbol.
CurrencyFormatter
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets up the internal style cache values so that the getStyle() method functions.
AdvancedStyleClient
 Inherited
Registers the EffectManager as one of the event listeners for each effect event.
AdvancedStyleClient
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
setStyle(styleProp:String, newValue:*):void
Sets a style property on this component instance.
AdvancedStyleClient
 Inherited
Detects changes to style properties.
AdvancedStyleClient
 Inherited
Flex calls the stylesInitialized() method when the styles for a component are first initialized.
AdvancedStyleClient
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 InheritedThe change event is generated whenever the locale style is changed or another property is set that would cause the format of a number to change or cause updates to the other values available through this class.GlobalizationBase
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
Styles

Styles are either common or associated with a specific theme. If the style is common, it can be used with any theme. If a style is associated with a specific theme, it can only be used if your application uses that theme.

Common Styles
 Style Description Defined By
 InheritedType: String CSS Inheritance: Yes
Language Version: ActionScript 3.0  Product Version: Flex 4.5  Runtime Versions: Flash10.1, AIR 2.5

The locale identifier that specifies the language, region, script and optionally other related tags and keys.
GlobalizationBase
Property Detail

actualLocaleIDName

property
actualLocaleIDName:String  [read-only] [override]

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The name of the actual locale ID used by this class object. This is the locale that is used to access the formatting data and functionality from the operating system.

If the locale that was set by the locale style is not available, then the value of the actualLocaleIDName is different from the value of the locale style. It indicates the fallback locale that is being used. If the locale style was set to LocaleID.DEFAULT the name of the locale specified by the user's operating system is used.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    override public function get actualLocaleIDName():String

Related API Elements

currencyISOCode

property 
currencyISOCode:String

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The three letter ISO 4217 currency code for the actual locale being used (e.g. USD, EUR, JPY, CNY).

When the useCurrencySymbol property is set to false, this code is used to indicate the currency type when formatting currency amounts using the format() method.

This property is initialized when the locale style is set based on the actual locale that is used. When a fallback locale is used, this property reflects the preferred/default currency code for the fallback locale.

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get currencyISOCode():String
    public function set currencyISOCode(value:String):void

Throws
TypeError — if this property is assigned a null value.

Related API Elements

currencySymbol

property 
currencySymbol:String

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The currency symbol or string for the actual locale being used.

This property is used as the currency symbol when formatting currency amounts using the format() method with the withCurrencySymbol parameter set to true.

This property is initialized when the locale style is set based on the actual locale that is used. When a fallback locale is used, this property reflects the preferred/default currency symbol for the fallback locale which may be different then the locale style.

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get currencySymbol():String
    public function set currencySymbol(value:String):void

Throws
TypeError — if this property is assigned a null value.

Related API Elements

negativeCurrencyFormat

property 
negativeCurrencyFormat:uint

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

A numeric value that indicates a formatting pattern for negative currency amounts. This pattern defines the location of the currency symbol and the negative symbol or parentheses in relation to the numeric portion of the currency amount.

The value of this property must be one of the constants defined in the table below.

The table below summarizes the possible formatting patterns for negative currency amounts. When a currency amount is formatted with the format() method:

  • The '¤' symbol is replaced with the value of the currencyISOCode or the currencySymbol property, depending on the value of the withCurrencySymbol parameter passed to the format() method;
  • The '-' character is replaced with the value of the negativeNumberSymbol property;
  • The 'n' character is replaced with the currency amount value that is passed to the format() method.
Negative currency format typeFormatting pattern
0(¤n)
1-¤n
2¤-n
3¤n-
4(n¤)
5-n¤
6n-¤
7n¤-
8-n ¤
9-¤ n
10n ¤-
11¤ n-
12¤ -n
13n- ¤
14(¤ n)
15(n ¤)

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get negativeCurrencyFormat():uint
    public function set negativeCurrencyFormat(value:uint):void

Throws
ArgumentError — if the assigned value is not between 0 and 15.

Related API Elements

positiveCurrencyFormat

property 
positiveCurrencyFormat:uint

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

A numeric value that indicates a formatting pattern for positive currency amounts. This format defines the location of the currency symbol relative to the numeric portion of the currency amount.

The value of this property must be one of the constants defined in the table below.

The table below summarizes the possible formatting patterns for positive currency amounts. When a currency amount is formatted with the format() method:

  • The '¤' symbol is replaced with the value of the currencyISOCode or the currencySymbol property, depending on the value of the withCurrencySymbol parameter passed to the format() method;
  • The 'n' character is replaced with the currency amount value that is passed to the format() method.
Positive currency format typeFormatting pattern
0¤n
1
2¤ n
3n ¤

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get positiveCurrencyFormat():uint
    public function set positiveCurrencyFormat(value:uint):void

Throws
ArgumentError — if the assigned value is not between 0 and 3.

Related API Elements

useCurrencySymbol

property 
useCurrencySymbol:Boolean

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

Enables the use of the currencySymbol property when formatting currency amounts.

When the useCurrencySymbol property is set to true, the value of the currencySymbol property is used in the string returned by the format method. For example: $123,456,789.22

When the useCurrencySymbol property is set to false, the value of the currencyISOCode property is used in the string returned by the format method. For example: USD123,456,789.22

The default value is false.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get useCurrencySymbol():Boolean
    public function set useCurrencySymbol(value:Boolean):void

Related API Elements

Constructor Detail

CurrencyFormatter

()Constructor
public function CurrencyFormatter()

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

Constructs a new CurrencyFormatter object to format numbers representing currency amounts according to the conventions of a given locale.

The locale for this class is supplied by the locale style. The locale style can be set in several ways:

  • By using the class in an MXML declaration and inheriting the locale from the document that contains the declaration.
  • Example:
      <fx:Declarations> 
             <s:CurrencyFormatter id="cf" /> 
      </fx:Declarations>
      
  • By using an MXML declaration and specifying the locale value in the list of assignments.
  • Example:
          <fx:Declarations> 
              <s:CurrencyFormatter id="cf_Japanese" locale="ja-JP" /> 
          </fx:Declarations>
          
  • Calling the setStyle() method, e.g. cf.setStyle("locale", "ja-JP")
  • Inheriting the style from a UIComponent by calling the UIComponent's addStyleClient() method.
  • If the locale style is not set by one of the above techniques, the instance of this class will be added as a StyleClient to the topLevelApplication and will therefore inherit the locale style from the topLevelApplication object when the locale dependent property getter or locale dependent method is called.

    Most of the properties of this class are automatically set based on the locale style. If the locale style is changed, any properties that have not been explicitly set will also be updated based on the new locale. Note that the actual locale that is used is specified by the actualLocaleIDName property.

    NOTE: When a fallback locale is used, the currency properties are set to default values, and therefore the currencySymbol or currencyISOCode properties might be given unexpected values. It is a good idea to examine the currencySymbol and currencyISOCode property values before formatting a currency amount.

    Related API Elements

    Method Detail

    format

    ()method
    public function format(value:Object):String

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Creates a string representing a currency amount formatted according to the current properties of this CurrencyFormatter object, including the locale, useCurrencySymbol, the currencySymbol, or the currencyISOCode properties.

    The useCurrencySymbol property determines whether the format method uses the currencySymbol or the currencyISOCode in the formatted currency amount. The default value for useCurrencySymobl is false and thus by default currency amounts will be formatted with the currencyISOCode

    Many countries and regions use the same currency symbols for different currencies. For example, the United States, Australia, New Zealand, Canada, and Mexico all use the same dollar sign symbol ($) for local currency values. When the formatting currency differs from the user's local currency it is best to use the ISO code as the currency string. You can use the formattingWithCurrencySymbolIsSafe() method to test whether or the ISO code of the currency to be formatted matches the default currency ISO code for the actual local used by the formatter.

    This method can format numbers of very large and very small magnitudes. However, the number of significant digits is limited to the precision provided by the Number data type.

    If there is an error when formatting, due to an illegal input value or other error, by default the format() method returns null. However if the errorText property is non-null, then the value of the errorText property is returned. The lastOperationStatus property is set to indicate the error that occurred.

    Parameters

    value:Object — An object that contains the numeric value to be formatted into a currency string. If the object is not a Number then it will be converted to a number using the Number() conversion function.

    Returns
    String — A string containing the formatted currency value.

    Related API Elements


    Example  ( How to use this example )
    In this example the locale style is set to fr-CA [French (Canada)]. The example assumes that this locale is supported in the user's operating system and therefore no fallback locale is used. For fr-CA, the default currency is Canadian dollars with an ISO code of CAD. Therefore when formatting a currency with the default values, CAD is used as the currency symbol. However when the useCurrencySymbol property is set to true, the currencySymbol property is used to format the currency amount.
          <fx:Declarations>
            <s:CurrencyFormatter id="cf_use_ISOCode" locale="fr-CA" />
            <s:CurrencyFormatter id="cf_use_Symbol" locale="fr-CA" 
                               useCurrencySymbol="true" />
          </fx:Declarations>
          
          <s:VGroup>
            <!-- label will use ISO code: 1,234,567.89 CAD -->
            <s:Label text="{cf_use_ISOCode.format(1234567.89)}" /> 
            <!-- label will use currency symbol: 1,234,567.89 $ -->
            <s:Label text="{cf_use_Symbol.format(1234567.89)}" /> 
          </s:VGroup>
         
          

    The second example shows a method of formatting a currency amount in Canadian dollars using the default user's locale. The formattingWithCurrencySymbolIsSafe() method is used to set the value of useCurrencySymbol property. If the user's default locale is Canada (for example fr-CA or en-CA), then the default currency symbol for Canada is used. If there is some locale is the default, then the currencyISOCode of CAD will be used in the formatted currency amount.

          <fx:Declarations>
           <s:CurrencyFormatter id="cf_CAD" locale="{LocaleID.DEFAULT}"
            currencyISOCode="CAD"
            useCurrencySymbol="{cf_CAD.formattingWithCurrencySymbolIsSafe('CAD')}"
           />
          </fx:Declarations>
          
          <fx:Script>
          <![CDATA[
              import flash.globalization.LocaleID;
          ]]>
          </fx:Script>
          
          <!-- label will use ISO code or currency symbol depending on
                  user's default locale -->
          <s:Label text="{cf_CAD.format(1234567.89)}" />
          

    formattingWithCurrencySymbolIsSafe

    ()method 
    public function formattingWithCurrencySymbolIsSafe(requestedISOCode:String):Boolean

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Determines whether the currently specified currency symbol can be used when formatting currency amounts.

    Many regions and countries use the same currency symbols. This method can be used to safeguard against the use of an ambiguous currency symbol, or a currency symbol or ISO code that is different than expected due to the use of a fallback locale.

    A common use case for this method is to determine whether to show a local currency symbol (if the amount is formatted in the user's default currency), or a more specific ISO code string (if the amount is formatted in a currency different from the user's default).

    This method compares the requestedISOCode parameter against the actual locale's default currencyISOCode, returning true if the strings are equal and false if they are not. When the strings are equal, using the format() method with the useCurrencySymbol property set to true results in a formatted currency value string with a currency symbol that is used in the current locale. If this method returns false, then using the format() method with the useCurrencySymbol property set to true could result in the use of an ambiguous or incorrect currency symbol.

    Parameters

    requestedISOCode:String — A three letter ISO 4217 currency code (for example, USD for US dollars, EUR for Euros). Must contain three uppercase letters from A to Z.

    Returns
    Booleantrue if the default currencyISOCode for the locale corresponding to the actualLocaleIDName matches the requestedISOCode parameter; otherwise false.

    Throws
    TypeError — if the requestedISOCode parameter is null.

    Related API Elements

    getAvailableLocaleIDNames

    ()method 
    public static function getAvailableLocaleIDNames():Vector.<String>

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Lists all of the locale ID names supported by this class. This is a list of locales supported by the operating system, not a list of locales that the ResourceManager has resources for.

    Returns
    Vector.<String> — A vector of strings containing all of the locale ID names supported by this class and operating system.

    parse

    ()method 
    public function parse(inputString:String):CurrencyParseResult

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Parses a string into a currency amount and a currency symbol.

    The parsing algorithm uses the value of the decimalSeparator property to determine the integral and fractional portion of the number. It uses the values of the negativeCurrencyFormat and positiveCurrencyFormat properties to determine the location of the currency symbol or string relative to the currency amount. For negative amounts the value of the negativeCurrencyFormat property determines the location of the negative symbol and whether parentheses are used.

    If the order of the currency symbol, minus sign, and number in the input string does not match the pattern identified by the negativeCurrencyFormat and positiveCurrencyFormat properties, then:

    1. The value property of the returned CurrencyParseResult object is set to NaN.
    2. The currencyString property of the returned CurrencyParseResult object is set to null.
    3. The lastOperationStatus property is set to LastOperationStatus.PARSE_ERROR indicate that parsing failed.

    The input string may include space characters, which are ignored during the parsing.

    Parsing can succeed even if there is no currency symbol. No validation is done of the portion of the string corresponding to the currency symbol. If there is no currency symbol or string, the currencyString property in the returned CurrencyParseResult object is set to an empty string.

    Parameters

    inputString:String — The input string to parse.

    Returns
    CurrencyParseResult — A CurrencyParseResult object containing the numeric value and the currency symbol or string.

    Throws
    TypeError — if the inputString parameter is null.

    Related API Elements

    CurrencyFormatterExample1.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Sample program for spark.formatters.CurrencyFormatter -->
    <s:Application
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">
    
        <fx:Declarations>
            <s:CurrencyFormatter id="currencyFormatter"/>
        </fx:Declarations>
    
        <fx:Script>
            <![CDATA[
                import flash.globalization.CurrencyParseResult;
    
                private function localeChange():void
                {
                    // Sets the locale style on the document UI component.
                    // The formatter will inherit this style.
                    setStyle('locale', inputLocaleIDName.text);
                    inputCurrencyChange();
                }
    
                private function inputCurrencyChange():void
                {
                    const cpr:CurrencyParseResult
                                    = currencyFormatter.parse(inputCurrency.text);
                    parsedResult.text = "Currency String: [" + cpr.currencyString
                        + "], Amount: [" + cpr.value.toString() + "]";
                }
            ]]>
        </fx:Script>
    
        <mx:Form>
            <mx:FormItem label="Input Locale ID Name">
                <mx:HBox>
                    <s:TextInput id="inputLocaleIDName"/>
                    <s:Button click="localeChange()" label="Apply"/>
                </mx:HBox>
                <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
            </mx:FormItem>
            <mx:FormItem label="Input Currency Amount">
                <s:TextInput id="inputCurrency" change="inputCurrencyChange()"/>
                <mx:Text text="Example: {currencyFormatter.format(123456789.123)}"/>
            </mx:FormItem>
            <mx:FormItem label="Actual Locale ID Name">
                <mx:Text text="{currencyFormatter.actualLocaleIDName}"/>
            </mx:FormItem>
            <mx:FormItem label="Parsed Result">
                <mx:Text id="parsedResult"/>
            </mx:FormItem>
        </mx:Form>
    </s:Application>
    
    CurrencyFormatterExample2.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Simple example to demonstrate the Spark CurrencyFormatter. -->
    <s:Application
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx">
    
        <fx:Declarations>
            <s:CurrencyFormatter id="currencyFormatter"/>
        </fx:Declarations>
    
        <fx:Script>
            <![CDATA[
                [Bindable]
                private var currencyAmount:Number = 123456.789;
            ]]>
        </fx:Script>
    
        <mx:Form>
            <mx:FormItem label="Input Locale ID Name">
                <mx:HBox>
                    <s:TextInput id="inputLocaleIDName"/>
                    <!-- Upon button click, sets the locale style on the document
                        UI component. The formatter will inherit this style. -->
                    <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                              label="Apply"/>
                </mx:HBox>
                <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
            </mx:FormItem>
            <mx:FormItem label="Use Currency Symbol">
                <s:CheckBox id="useSymbol"
                    click="currencyFormatter.useCurrencySymbol = useSymbol.selected"/>
            </mx:FormItem>
            <mx:FormItem label="Actual Locale ID Name">
                <s:Label text="{currencyFormatter.actualLocaleIDName}"/>
            </mx:FormItem>
            <mx:FormItem label="Formatted Result">
                <s:Label text="{currencyFormatter.format(currencyAmount)}"/>
            </mx:FormItem>
        </mx:Form>
    </s:Application>