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 |
Starting with Flex 4.5, Adobe 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:
-
"Invalid value"
means an invalid numeric value is passed to theformat()
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.
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" />
More examples
Writing an error handler function for an MX formatter
Formatting currency with an MX formatter
Learn more
Related API Elements
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 | ||
defaultInvalidFormatError : String [static]
Error message for an invalid format string specified to the formatter. | Formatter | ||
defaultInvalidValueError : String [static]
Error messages for an invalid value specified to the formatter. | Formatter | ||
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 | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object | ||
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 |
Method | Defined By | ||
---|---|---|---|
Constructor. | CurrencyFormatter | ||
[override]
Formats value as currency. | CurrencyFormatter | ||
Indicates whether an object has a specified property defined. | Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
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
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
CurrencyFormatter | () | Constructor |
public function CurrencyFormatter()
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructor.
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.
|
String — Formatted string. Empty if an error occurs.
|
<?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>
Mon Nov 28 2011, 06:48 AM -08:00