包 | 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"
表示其中某个参数包含不可用的设置。
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):void
rounding | 属性 |
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