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

NumberFormatter 类可通过调整小数的舍入和精度、千分位分隔符以及负号来设置有效值的格式。

如果同时使用 roundingprecision 属性,则首先进行舍入,然后使用指定的 precision 值设置小数位数。这样,即可在舍入数字后仍然带有尾随小数;例如,303.99 = 304.00。

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

MXML 语法expanded隐藏 MXML 语法

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

  <mx:NumberFormatter
    decimalSeparatorFrom="."
    decimalSeparatorTo="."
    precision="-1"
    rounding="none|up|down|nearest"
    thousandsSeparatorFrom=","
    thousandsSeparatorTo=","
    useNegativeSign="true|false"
    useThousandsSeparator="true|false"/>  
  

查看示例

另请参见

mx.formatters.NumberBase
mx.formatters.NumberBaseRoundType


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

分析输入 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 的有效值为“down”、“nearest”、“up”和“none”。

默认值为 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  [读写]

在输出 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
构造函数详细信息
NumberFormatter()构造函数
public function NumberFormatter()

构造函数。

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

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

参数

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

返回
String — 格式化的 String。如果发生错误,则为空字符串。
示例 如何使用示例
NumberFormatterExample.mxml
<?xml version="1.0"?>
<!-- Simple example to demonstrate NumberFormatter. -->
<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) {
             
                formattedNumber.text= numberFormatter.format(inputVal.text);
             }
             
             else {
                formattedNumber.text= "";
             }
          }
      ]]>      
    </mx:Script>

    <mx:NumberFormatter id="numberFormatter" precision="4" 
        useThousandsSeparator="true" useNegativeSign="true"/>

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

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

        <mx:Form>
            <mx:FormItem label="Enter number:">
                <mx:TextInput id="inputVal" text="" width="50%"/>
            </mx:FormItem>

            <mx:FormItem label="Formatted number (precision=4): ">
                <mx:TextInput id="formattedNumber" editable="false" width="50%"/>
            </mx:FormItem>

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