mx.formatters
public class CurrencyFormatter
继承CurrencyFormatter Inheritance Formatter Inheritance Object

CurrencyFormatter 类将对一个有效数字设置格式,以作为货币值。此类可调整小数的舍入和精度、千分位分隔符以及负号;它还会添加货币符号。您可以使用 alignSymbol 属性将货币符号置于值的左侧或右侧。货币符号可以包含多个字符,包括空格。

如果出现错误,则会返回一个空 String,以及一个说明已将此错误保存到 error 属性的 String。error 属性可以是下列值之一:

MXML 语法expanded隐藏 MXML 语法

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"
 />  
  

查看示例

另请参见

mx.formatters.NumberBase
mx.formatters.NumberBaseRoundType


公共属性
 属性定义方
  alignSymbol : String
将货币符号与格式化数字的左侧或右侧对齐。
CurrencyFormatter
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  currencySymbol : String
要用作格式化数字的货币符号的字符。
CurrencyFormatter
  decimalSeparatorFrom : String
分析输入字符串时使用的小数分隔符。
CurrencyFormatter
  decimalSeparatorTo : String
输出格式化的十进制数字时使用的小数分隔符。
CurrencyFormatter
 InheriteddefaultInvalidFormatError : String
[静态] 为 formatter 指定的格式字符串无效时出现的错误消息。
Formatter
 InheriteddefaultInvalidValueError : String
[静态] 为 formatter 指定的值无效时出现的错误消息。
Formatter
 Inheritederror : String
发生错误时由 formatter 保存的说明。
Formatter
  precision : Object
输出 String 中包含的小数位数。
CurrencyFormatter
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  rounding : String
数字的舍入方式。
CurrencyFormatter
  thousandsSeparatorFrom : String
在输入 String 中用作千分位分隔符的字符。
CurrencyFormatter
  thousandsSeparatorTo : String
在输出字符串中用作千分位分隔符的字符。
CurrencyFormatter
  useNegativeSign : Object
如果为 true,则通过在数字前面添加减号 (-) 来设置负数的格式。
CurrencyFormatter
  useThousandsSeparator : Object
如果为 true,则会使用分隔符按千位递增将数字拆分。
CurrencyFormatter
受保护的属性
 属性定义方
 InheritedresourceManager : IResourceManager
[只读 (read-only)] 引用管理所有应用程序本地化资源的对象。
Formatter
公共方法
 方法定义方
  
构造函数。
CurrencyFormatter
  
将值设置为货币格式。
CurrencyFormatter
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
受保护的方法
 方法定义方
 Inherited
构建 Formatter 时将调用此方法,并且每当 ResourceManager 调度“change”事件来指示本地化资源已经过某种更改时,都会再次调用此方法。
Formatter
属性详细信息
alignSymbol属性
alignSymbol:String  [读写]

将货币符号与格式化数字的左侧或右侧对齐。允许值为 "left""right"

默认值为 "left".



实现
    public function get alignSymbol():String
    public function set alignSymbol(value:String):void
currencySymbol属性 
currencySymbol:String  [读写]

要用作格式化数字的货币符号的字符。您可以使用一个或多个字符表示货币符号,例如“$”或“YEN”。您还可以使用空格在货币字符和格式化的数字之间添加一定空间。当该数字为负值时,货币符号将出现在数字与减号或括号之间。

默认值为 "$".



实现
    public function get currencySymbol():String
    public function set currencySymbol(value:String):void
decimalSeparatorFrom属性 
decimalSeparatorFrom:String  [读写]

分析输入字符串时使用的小数分隔符。

默认值为 ".".



实现
    public function get decimalSeparatorFrom():String
    public function set decimalSeparatorFrom(value:String):void
decimalSeparatorTo属性 
decimalSeparatorTo:String  [读写]

输出格式化的十进制数字时使用的小数分隔符。

默认值为 ".".



实现
    public function get decimalSeparatorTo():String
    public function set decimalSeparatorTo(value:String):void
precision属性 
precision:Object  [读写]

输出 String 中包含的小数位数。您可以通过将精度设置为 -1 来禁用精度。值 -1 表示不更改精度。例如,如果输入值为 1.453,并已将 rounding 设置为 NumberBaseRoundType.NONE,则会返回 1.453;如果 precision 为 -1,并已设置了某种形式的舍入,则会根据该舍入类型返回一个值。

默认值为 -1.



实现
    public function get precision():Object
    public function set precision(value:Object):void
rounding属性 
rounding:String  [读写]

数字的舍入方式。在 ActionScript 中,此值可以是 NumberBaseRoundType.NONENumberBaseRoundType.UPNumberBaseRoundType.DOWNNumberBaseRoundType.NEAREST。在 MXML 中,此值可以是 "none""up""down""nearest"

默认值为 NumberBaseRoundType.NONE.



实现
    public function get rounding():String
    public function set rounding(value:String):void

另请参见

thousandsSeparatorFrom属性 
thousandsSeparatorFrom:String  [读写]

在输入 String 中用作千分位分隔符的字符。

默认值为 ",".



实现
    public function get thousandsSeparatorFrom():String
    public function set thousandsSeparatorFrom(value:String):void
thousandsSeparatorTo属性 
thousandsSeparatorTo:String  [读写]

在输出字符串中用作千分位分隔符的字符。

默认值为 ",".



实现
    public function get thousandsSeparatorTo():String
    public function set thousandsSeparatorTo(value:String):void
useNegativeSign属性 
useNegativeSign:Object  [读写]

如果为 true,则通过在数字前面添加减号 (-) 来设置负数的格式。如果为 false,则将数字设置为用括号括起的格式,例如 (400)。

默认值为 true.



实现
    public function get useNegativeSign():Object
    public function set useNegativeSign(value:Object):void
useThousandsSeparator属性 
useThousandsSeparator:Object  [读写]

如果为 true,则会使用分隔符按千位递增将数字拆分。

默认值为 true.



实现
    public function get useThousandsSeparator():Object
    public function set useThousandsSeparator(value:Object):void
构造函数详细信息
CurrencyFormatter()构造函数
public function CurrencyFormatter()

构造函数。

方法详细信息
format()方法
override public function format(value:Object):String

value 设置为货币格式。如果无法设置 value 的格式,则会返回一个空 String,并将对错误的描述写入 error 属性。

参数

value:Object — 要设置格式的值。

返回
String — 格式化的字符串。如果发生错误,则为空字符串。
示例 如何使用示例
CurrencyFormatterExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the CurrencyFormatter. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx: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="";
                    }
              }
        ]]>
    </mx:Script>

    <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"/>

    <mx:Panel title="CurrencyFormatter Example" width="75%" height="75%" 
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:Form>
            <mx:FormItem label="Enter U.S. dollar amount:">
                <mx:TextInput id="priceUS" text="" width="50%"/>
            </mx:FormItem>

            <mx:FormItem label="Formatted amount: ">
                <mx:TextInput id="formattedUSPrice" text="" width="50%" editable="false"/>
            </mx:FormItem>

            <mx:FormItem>
                <mx:Button label="Validate and Format" click="Format();"/>
            </mx:FormItem>
        </mx:Form>

    </mx:Panel>
</mx:Application>