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