mx.formatters

# CurrencyFormatter - AS3 Flex

Package | mx.formatters
Class | public class CurrencyFormatter
Inheritance | CurrencyFormatter Formatter Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The CurrencyFormatter class formats a valid number as a currency value. It adjusts the decimal rounding and precision, the thousands separator, and the negative sign; it also adds a currency symbol. You place the currency symbol on either the left or the right side of the value with the `alignSymbol` property. The currency symbol can contain multiple characters, including blank spaces.

If an error occurs, an empty String is returned and a String that describes the error is saved to the `error` property. The `error` property can have one of the following values:

- `"Invalid value"` means an invalid numeric value is passed to the `format()` method. The value should be a valid number in the form of a Number or a String.
- `"Invalid format"` means one of the parameters contains an unusable setting.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

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

      <mx:CurrencyFormatter
        alignSymbol="left|right"
        currencySymbol="$"
        decimalSeparatorFrom="."
        decimalSeparatorTo="."
        precision="-1"
        rounding="none|up|down|nearest"
        thousandsSeparatorFrom=","
        thousandsSeparatorTo=","
        useNegativeSign="true|false"
        useThousandsSeparator="true|false"
     />

View the examples

More examples

Formatter example
Writing an error handler function for an MX formatter
Formatting currency with an MX formatter

Learn more

Formatting Data
MX formatters

Related API Elements

mx.formatters.NumberBase
mx.formatters.NumberBaseRoundType

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | alignSymbol : String Aligns currency symbol to the left side or the right side of the formatted number. | CurrencyFormatter
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | currencySymbol : String Character to use as a currency symbol for a formatted number. | CurrencyFormatter
|  | decimalSeparatorFrom : String Decimal separator character to use when parsing an input string. | CurrencyFormatter
|  | decimalSeparatorTo : String Decimal separator character to use when outputting formatted decimal numbers. | CurrencyFormatter
|  | error : String Description saved by the formatter when an error occurs. | Formatter
|  | precision : Object Number of decimal places to include in the output String. | CurrencyFormatter
|  | rounding : String How to round the number. | CurrencyFormatter
|  | thousandsSeparatorFrom : String Character to use as the thousands separator in the input String. | CurrencyFormatter
|  | thousandsSeparatorTo : String Character to use as the thousands separator in the output string. | CurrencyFormatter
|  | useNegativeSign : Object If true, format a negative number by preceding it with a minus "-" sign. | CurrencyFormatter
|  | useThousandsSeparator : Object If true, split the number into thousands increments by using a separator character. | CurrencyFormatter

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | resourceManager : IResourceManager [read-only] A reference to the object which manages all of the application's localized resources. | Formatter

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | CurrencyFormatter() Constructor. | CurrencyFormatter
|  | format(value:Object):String [override] Formats value as currency. | CurrencyFormatter
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | resourcesChanged():void This method is called when a Formatter is constructed, and again whenever the ResourceManager dispatches a "change" Event to indicate that the localized resources have changed in some way. | Formatter

Property Detail

### alignSymbol

property

`alignSymbol:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Aligns currency symbol to the left side or the right side of the formatted number. Permitted values are `"left"` and `"right"`.

The default value is `"left".`

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

### currencySymbol

property

`currencySymbol:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Character to use as a currency symbol for a formatted number. You can use one or more characters to represent the currency symbol; for example, "$" or "YEN". You can also use empty spaces to add space between the currency character and the formatted number. When the number is a negative value, the currency symbol appears between the number and the minus sign or parentheses.

The default value is `"$".`

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

### decimalSeparatorFrom

property

`decimalSeparatorFrom:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Decimal separator character to use when parsing an input string.

The default value is `".".`

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

### decimalSeparatorTo

property

`decimalSeparatorTo:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Decimal separator character to use when outputting formatted decimal numbers.

The default value is `".".`

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

### precision

property

`precision:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Number of decimal places to include in the output String. You can disable precision by setting it to `-1`. A value of `-1` means do not change the precision. For example, if the input value is 1.453 and `rounding` is set to `NumberBaseRoundType.NONE`, return 1.453. If `precision` is -1 and you set some form of rounding, return a value based on that rounding type.

The default value is `-1.`

Implementation
`public function get precision():Object`
`public function set precision(value:Object):void`

### rounding

property

`rounding:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

How to round the number. In ActionScript, the value can be `NumberBaseRoundType.NONE`, `NumberBaseRoundType.UP`, `NumberBaseRoundType.DOWN`, or `NumberBaseRoundType.NEAREST`. In MXML, the value can be `"none"`, `"up"`, `"down"`, or `"nearest"`.

The default value is `NumberBaseRoundType.NONE.`

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

Related API Elements

mx.formatters.NumberBaseRoundType

### thousandsSeparatorFrom

property

`thousandsSeparatorFrom:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Character to use as the thousands separator in the input String.

The default value is `",".`

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

### thousandsSeparatorTo

property

`thousandsSeparatorTo:String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Character to use as the thousands separator in the output string.

The default value is `",".`

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

### useNegativeSign

property

`useNegativeSign:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

If `true`, format a negative number by preceding it with a minus "-" sign. If `false`, format the number surrounded by parentheses, for example (400).

The default value is `true.`

Implementation
`public function get useNegativeSign():Object`
`public function set useNegativeSign(value:Object):void`

### useThousandsSeparator

property

`useThousandsSeparator:Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

If `true`, split the number into thousands increments by using a separator character.

The default value is `true.`

Implementation
`public function get useThousandsSeparator():Object`
`public function set useThousandsSeparator(value:Object):void`
Constructor Detail

### CurrencyFormatter

()
Constructor

`public function CurrencyFormatter()`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Constructor.

Method Detail

### format

()
method

`override public function format(value:Object):String`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Formats `value` as currency. If `value` cannot be formatted, return an empty String and write a description of the error to the `error` property.

Parameters

| `value:Object` — Value to format.

Returns

| `String` — Formatted string. Empty if an error occurs.

Examples How to use this example
CurrencyFormatterExample.mxml
Copy

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Simple example to demonstrate the 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:Script>
            <![CDATA[
                import mx.events.ValidationResultEvent;

                private var vResult:ValidationResultEvent;

                // Event handler to validate and format input.
                private function Format():void {
                    vResult = numVal.validate();

                    if (vResult.type==ValidationResultEvent.VALID) {
                        var temp:Number = Number(priceUS.text);
                        formattedUSPrice.text = usdFormatter.format(temp);
                    } else {
                        formattedUSPrice.text = "";
                    }
                }
            ]]>
        </fx:Script>

        <fx:Declarations>
            <mx:CurrencyFormatter id="usdFormatter" precision="2"
                    currencySymbol="$" decimalSeparatorFrom="."
                    decimalSeparatorTo="." useNegativeSign="true"
                    useThousandsSeparator="true" alignSymbol="left"/>

            <mx:NumberValidator id="numVal" source="{priceUS}" property="text"
                    allowNegative="true" domain="real"/>
        </fx:Declarations>

        <s:Panel title="CurrencyFormatter Example"
                width="75%" height="75%"
                horizontalCenter="0" verticalCenter="0">
            <mx:Form left="10" right="10" top="10" bottom="10">
                <mx:FormItem label="Enter U.S. dollar amount:">
                    <s:TextInput id="priceUS" text="" width="50%"/>
                </mx:FormItem>
                <mx:FormItem label="Formatted amount: ">
                    <s:TextInput id="formattedUSPrice" text="" width="50%" editable="false"/>
                </mx:FormItem>
                <mx:FormItem>
                    <s:Button label="Validate and Format" click="Format();"/>
                </mx:FormItem>
            </mx:Form>
        </s:Panel>

    </s:Application>

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00