Packagemx.formatters
Classpublic class CurrencyFormatter
InheritanceCurrencyFormatter Inheritance Formatter Inheritance Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1


Starting with Flex 4.5, Apache recommends that you use the spark.formatters.CurrencyFormatter class as an alternative to this class.

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:

MXML SyntaxexpandedHide 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

See also

mx.formatters.NumberBase
mx.formatters.NumberBaseRoundType


Public Properties
 PropertyDefined By
  alignSymbol : String
Aligns currency symbol to the left side or the right side of the formatted number.
CurrencyFormatter
  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
 InheriteddefaultInvalidFormatError : String
[static] Error message for an invalid format string specified to the formatter.
Formatter
 InheriteddefaultInvalidValueError : String
[static] Error messages for an invalid value specified to the formatter.
Formatter
 Inheritederror : 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
 PropertyDefined By
 InheritedresourceManager : IResourceManager
[read-only] A reference to the object which manages all of the application's localized resources.
Formatter
Public Methods
 MethodDefined By
  
Constructor.
CurrencyFormatter
  
format(value:Object):String
[override] Formats value as currency.
CurrencyFormatter
Protected Methods
 MethodDefined By
 Inherited
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
alignSymbolproperty
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
currencySymbolproperty 
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
decimalSeparatorFromproperty 
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
decimalSeparatorToproperty 
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
precisionproperty 
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
roundingproperty 
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

See also

thousandsSeparatorFromproperty 
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
thousandsSeparatorToproperty 
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
useNegativeSignproperty 
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
useThousandsSeparatorproperty 
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
CurrencyFormatterExample.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 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>