Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
CurrencyFormatter

Package | spark.formatters
Class | public class CurrencyFormatter
Inheritance | CurrencyFormatter NumberFormatterBase GlobalizationBase AdvancedStyleClient flash.events.EventDispatcher
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 Syntax Show MXML Syntax
Hide 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

See also

flash.globalization.CurrencyFormatter
NumberFormatter

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | actualLocaleIDName : String [override] [read-only] The name of the actual locale ID used by this class object. | CurrencyFormatter
|  | className : String [read-only] The name of the component class. | AdvancedStyleClient
|  | 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
|  | decimalSeparator : String The decimal separator character used for formatting or parsing numbers that have a decimal part. | NumberFormatterBase
|  | digitsType : uint Defines the set of digit characters to be used when formatting numbers. | NumberFormatterBase
|  | errorText : String Replacement string returned by the format() method when an error occurs. | NumberFormatterBase
|  | fractionalDigits : int The maximum number of digits that can appear after the decimal separator. | NumberFormatterBase
|  | groupingPattern : String Describes the placement of grouping separators within the formatted number string. | NumberFormatterBase
|  | groupingSeparator : String The character or string used for the grouping separator. | NumberFormatterBase
|  | id : String The identity of the component. | AdvancedStyleClient
|  | inheritingStyles : Object An object containing the inheritable styles for this non-visual style client instance. | AdvancedStyleClient
|  | lastOperationStatus : String [override] [read-only] The status of the most recent operation that this class object performed. | NumberFormatterBase
|  | leadingZero : 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
|  | moduleFactory : 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
|  | negativeSymbol : String The negative symbol to be used when formatting negative values. | NumberFormatterBase
|  | nonInheritingStyles : 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
|  | styleDeclaration : CSSStyleDeclaration The style declaration that holds the inline styles declared by this object. | AdvancedStyleClient
|  | styleManager : IStyleManager2 [read-only] Returns the StyleManager instance used by this component. | AdvancedStyleClient
|  | styleName : Object The source of this object's style values. | AdvancedStyleClient
|  | styleParent : IAdvancedStyleClient A component's parent is used to evaluate descendant selectors. | AdvancedStyleClient
|  | trailingZeros : 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
|  | useGrouping : Boolean Enables the use of the grouping separator when formatting numbers. | NumberFormatterBase

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | CurrencyFormatter() Constructs a new CurrencyFormatter object to format numbers representing currency amounts according to the conventions of a given locale. | CurrencyFormatter
|  | clearStyle(styleProp:String):void Deletes a style property from this component instance. | AdvancedStyleClient
|  | format(value:Object):String 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
|  | formattingWithCurrencySymbolIsSafe(requestedISOCode:String):Boolean Determines whether the currently specified currency symbol can be used when formatting currency amounts. | CurrencyFormatter
|  | getAvailableLocaleIDNames():Vector.<String> [static] Lists all of the locale ID names supported by this class. | CurrencyFormatter
|  | getClassStyleDeclarations():Array Returns an Array of CSSStyleDeclaration objects for the type selector that applies to this component, or null if none exist. | AdvancedStyleClient
|  | getStyle(styleProp:String):* [override] Gets a style property that has been set anywhere in this component's style lookup chain. | GlobalizationBase
|  | hasCSSState():Boolean Returns true if currentCSSState is not null. | AdvancedStyleClient
|  | initialized(document:Object, id:String):void The initialized method is called when this class or a class that extends this class is used in an MXML declaration. | AdvancedStyleClient
|  | matchesCSSState(cssState:String):Boolean Returns true if cssState matches currentCSSState. | AdvancedStyleClient
|  | matchesCSSType(cssType:String):Boolean Determines whether this instance is the same as, or is a subclass of, the given type. | AdvancedStyleClient
|  | notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void Propagates style changes to the children of this style client instance. | AdvancedStyleClient
|  | parse(inputString:String):CurrencyParseResult Parses a string into a currency amount and a currency symbol. | CurrencyFormatter
|  | regenerateStyleCache(recursive:Boolean):void Sets up the internal style cache values so that the getStyle() method functions. | AdvancedStyleClient
|  | registerEffects(effects:Array):void Registers the EffectManager as one of the event listeners for each effect event. | AdvancedStyleClient
|  | setStyle(styleProp:String, newValue:*):void Sets a style property on this component instance. | AdvancedStyleClient
|  | styleChanged(styleProp:String):void Detects changes to style properties. | AdvancedStyleClient
|  | stylesInitialized():void Flex calls the stylesInitialized() method when the styles for a component are first initialized. | AdvancedStyleClient

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | setDeferredStyles():void | AdvancedStyleClient

Events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | change | The 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

Styles
Hide Inherited Styles
Show Inherited Styles

| Style | Description | Defined By
--- | --- | --- | ---
|  | locale | Type: String CSS Inheritance: yes The locale identifier that specifies the language, region, script and optionally other related tags and keys. See also http://www.unicode.org/reports/tr35/ | 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.

Implementation
`public function get actualLocaleIDName():String`

See also

flash.globalization.CurrencyFormatter.actualLocaleIDName
CurrencyFormatter()

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.

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

| `TypeError` — if this property is assigned a null value.

See also

actualLocaleIDName
format()
currencySymbol
formattingWithCurrencySymbolIsSafe()

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.

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

| `TypeError` — if this property is assigned a null value.

See also

actualLocaleIDName
format()
formattingWithCurrencySymbolIsSafe()
currencyISOCode

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 type | Formatting pattern
0 | (¤n)
1 | -¤n
2 | ¤-n
3 | ¤n-
4 | (n¤)
5 | -n¤
6 | n-¤
7 | n¤-
8 | -n ¤
9 | -¤ n
10 | n ¤-
11 | ¤ n-
12 | ¤ -n
13 | n- ¤
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.

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.

See also

format()
currencySymbol
negativeSymbol

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 type | Formatting pattern
0 | ¤n
1 | n¤
2 | ¤ n
3 | n ¤

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

This property can be used as the source for data binding.

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.

See also

currencySymbol
format()

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.

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

See also

formattingWithCurrencySymbolIsSafe()
format()
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.

See also

actualLocaleIDName
lastOperationsStatus
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.

See also

currencySymbol
currencyISOCode
formattingWithCurrencySymbolIsSafe()
lastOperationStatus
useCurrencySymbol
spark.formatters.supportClasses.NumberFormatterBase.errorText
spark.globalization.LastOperationStatus
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

| `Boolean` — `true` 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.

See also

actualLocaleIDName
currencySymbol
currencyISOCode
useCurrencySymbol

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.

See also

spark.formatters.supportClasses.NumberFormatterBase.decimalSeparator
negativeCurrencyFormat
positiveCurrencyFormat
flash.globalization.CurrencyParseResult
Examples
CurrencyFormatterExample1.mxml

    <?xml version="1.0" encoding="utf-8"?>
    <!--

      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

    -->
    <!-- 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>

        <s:Form>
            <s:FormItem label="Input Locale ID Name">
                <s:HGroup>
                    <s:TextInput id="inputLocaleIDName"/>
                    <s:Button click="localeChange()" label="Apply"/>
                </s:HGroup>
                <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
            </s:FormItem>
            <s:FormItem label="Input Currency Amount">
                <s:TextInput id="inputCurrency" change="inputCurrencyChange()"/>
                <s:Label text="Example: {currencyFormatter.format(123456789.123)}"/>
            </s:FormItem>
            <s:FormItem label="Actual Locale ID Name">
                <s:Label text="{currencyFormatter.actualLocaleIDName}"/>
            </s:FormItem>
            <s:FormItem label="Parsed Result">
                <s:Label id="parsedResult"/>
            </s:FormItem>
        </s:Form>
    </s:Application>

CurrencyFormatterExample2.mxml

    <?xml version="1.0" encoding="utf-8"?>
    <!--

      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements.  See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License.  You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.

    -->
    <!-- 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>

        <s:Form>
            <s:FormItem label="Input Locale ID Name">
                <s:HGroup>
                    <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"/>
                </s:HGroup>
                <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
            </s:FormItem>
            <s:FormItem label="Use Currency Symbol">
                <s:CheckBox id="useSymbol"
                            click="currencyFormatter.useCurrencySymbol = useSymbol.selected"/>
            </s:FormItem>
            <s:FormItem label="Actual Locale ID Name">
                <s:Label text="{currencyFormatter.actualLocaleIDName}"/>
            </s:FormItem>
            <s:FormItem label="Formatted Result">
                <s:Label text="{currencyFormatter.format(currencyAmount)}"/>
            </s:FormItem>
        </s:Form>
    </s:Application>

Wed Nov 15 2017, 09:50 AM +01:00