| 包 | mx.formatters | 
| 类 | public class NumberFormatter | 
| 继承 | NumberFormatter    Formatter   Object | 
| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
![]()  | 从 Flex 4.5 开始,Adobe 建议您使用 spark.formatters.NumberFormatter 类来替代此类。 | 
NumberFormatter 类可通过调整小数的舍入和精度、千分位分隔符以及负号来设置有效值的格式。
如果同时使用 rounding 和 precision 属性,则首先进行舍入,然后使用指定的 precision 值设置小数位数。这样,即可在舍入数字后仍然带有尾随小数;例如,303.99 = 304.00。
如果出现错误,则会返回一个空 String,以及一个说明已将该错误保存到 error 属性的 String。error 属性可以是下列值之一:
- 
                     
"Invalid value"表示传递给format()方法的数值无效。该值应该是一个 Number 或 String 形式的有效值。 - 
                     
"Invalid format"表示其中某个参数包含不可用的设置。 
隐藏 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"/>  
  
  
  相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
![]()  | constructor : Object 
	 对类对象或给定对象实例的构造函数的引用。  | Object | |
| decimalSeparatorFrom : String 
      分析输入 String 时使用的小数分隔符。  | NumberFormatter | ||
| decimalSeparatorTo : String 
      输出格式化的十进制数字时使用的小数分隔符。  | NumberFormatter | ||
![]()  | error : String 
	  发生错误时由 formatter 保存的说明。  | Formatter | |
| precision : Object 
      输出 String 中包含的小数位数。  | NumberFormatter | ||
| rounding : String 
      指定数字的舍入方式。  | NumberFormatter | ||
| thousandsSeparatorFrom : String 
      在输入 String 中用作千分位分隔符的字符。  | NumberFormatter | ||
| thousandsSeparatorTo : String 
      在输出 String 中用作千分位分隔符的字符。  | NumberFormatter | ||
| useNegativeSign : Object 
      如果为 true,则通过在数字前面添加减号 (-) 来设置负数的格式。  | NumberFormatter | ||
| useThousandsSeparator : Object 
      如果为 true,则会使用分隔符按千位递增将数字拆分。  | NumberFormatter | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
      构造函数。  | NumberFormatter | ||
[覆盖] 
      将数字设置为 String 格式。  | NumberFormatter | ||
![]()  | 
	 表示对象是否已经定义了指定的属性。  | Object | |
![]()  | 
	 表示 Object 类的实例是否在指定为参数的对象的原型链中。  | Object | |
![]()  | 
	 表示指定的属性是否存在、是否可枚举。  | Object | |
![]()  | 
     设置循环操作动态属性的可用性。  | Object | |
![]()  | 
	 返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。  | Object | |
![]()  | 
	 返回指定对象的字符串表示形式。  | Object | |
![]()  | 
	 返回指定对象的原始值。  | Object | |
decimalSeparatorFrom | 属性 | 
decimalSeparatorFrom:String| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
分析输入 String 时使用的小数分隔符。
设置此属性时,请确保 thousandsSeparatorFrom 属性值不等于此属性值。否则,为此值设置格式时将发生错误。
 默认值为 "."。
实现
    public function get decimalSeparatorFrom():String    public function set decimalSeparatorFrom(value:String):void相关 API 元素
decimalSeparatorTo | 属性 | 
decimalSeparatorTo:String| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
输出格式化的十进制数字时使用的小数分隔符。
设置此属性时,请确保 thousandsSeparatorTo 属性值不等于此属性值。否则,为此值设置格式时将发生错误。
 默认值为 "."。
实现
    public function get decimalSeparatorTo():String    public function set decimalSeparatorTo(value:String):void相关 API 元素
precision | 属性 | 
precision:Object| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
      输出 String 中包含的小数位数。您可以通过将精度设置为 -1 来禁用精度。值 -1 表示不更改精度。例如,如果输入值为 1.453,并已将 rounding 设置为 NumberBaseRoundType.NONE,则会返回值 1.453;如果 precision 为 -1,并已设置了某种形式的舍入,则会根据该舍入类型返回一个值。
     
      
 默认值为 -1。
实现
    public function get precision():Object    public function set precision(value:Object):voidrounding | 属性 | 
rounding:String| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
指定数字的舍入方式。
在 ActionScript 中,您可以使用下列常量来设置此属性:NumberBaseRoundType.NONE、NumberBaseRoundType.UP、NumberBaseRoundType.DOWN 或 NumberBaseRoundType.NEAREST。MXML 的有效值为“down”、“nearest”、“up”和“none”。
 默认值为 NumberBaseRoundType.NONE。
实现
    public function get rounding():String    public function set rounding(value:String):void相关 API 元素
thousandsSeparatorFrom | 属性 | 
thousandsSeparatorFrom:String| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
在输入 String 中用作千分位分隔符的字符。
设置此属性时,请确保 decimalSeparatorFrom 属性值不等于此属性值。否则,为此值设置格式时将发生错误。
 默认值为 ","。
实现
    public function get thousandsSeparatorFrom():String    public function set thousandsSeparatorFrom(value:String):void相关 API 元素
thousandsSeparatorTo | 属性 | 
thousandsSeparatorTo:String| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
在输出 String 中用作千分位分隔符的字符。
设置此属性时,请确保 decimalSeparatorTo 属性值不等于此属性值。否则,为此值设置格式时将发生错误。
 默认值为 ","。
实现
    public function get thousandsSeparatorTo():String    public function set thousandsSeparatorTo(value:String):void相关 API 元素
useNegativeSign | 属性 | 
useThousandsSeparator | 属性 | 
NumberFormatter | () | 构造函数 | 
public function NumberFormatter()| 语言版本: | ActionScript 3.0 | 
| 产品版本: | Flex 3 | 
| 运行时版本: | Flash Player 9, AIR 1.1 | 
构造函数。
format | () | 方法 | 
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate NumberFormatter. -->
<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) {
                    formattedNumber.text = numberFormatter.format(inputVal.text);
                } else {
                    formattedNumber.text = "";
                }
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <mx:NumberFormatter id="numberFormatter" precision="4" 
                useThousandsSeparator="true" useNegativeSign="true"/>
        <mx:NumberValidator id="numVal" source="{inputVal}" property="text" 
                allowNegative="true" domain="real"/>
    </fx:Declarations>
    <s:Panel title="NumberFormatter Example"
            width="75%" height="75%"
            horizontalCenter="0" verticalCenter="0">
        <mx:Form left="10" right="10" top="10" bottom="10">
            <mx:FormItem label="Enter number:">
                <s:TextInput id="inputVal" text="" width="50%"/>
            </mx:FormItem>
            <mx:FormItem label="Formatted number (precision=4): ">
                <s:TextInput id="formattedNumber" editable="false" width="50%"/>
            </mx:FormItem>
            <mx:FormItem>
                <s:Button label="Validate and Format" click="Format();"/>
            </mx:FormItem>
        </mx:Form>
    </s:Panel>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z
 
显示 MXML 语法