| 包 | mx.formatters |
| 类 | public class CurrencyFormatter |
| 继承 | CurrencyFormatter Formatter Object |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
![]() | 从 Flex 4.5 开始,Adobe 建议您使用 spark.formatters.CurrencyFormatter 类来替代此类。 |
CurrencyFormatter 类将对一个有效数字设置格式,以作为货币值。此类可调整小数的舍入和精度、千分位分隔符以及负号;它还会添加货币符号。您可以使用
alignSymbol 属性将货币符号置于值的左侧或右侧。货币符号可以包含多个字符,包括空格。
如果出现错误,则会返回一个空 String,以及一个说明已将此错误保存到 error 属性的 String。error 属性可以是下列值之一:
-
"Invalid value"表示传递给format()方法的数值无效。该值应该是一个 Number 或 String 形式的有效值。 -
"Invalid format"表示其中某个参数包含不可用的设置。
隐藏 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"
/>
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| alignSymbol : String
将货币符号与格式化数字的左侧或右侧对齐。 | CurrencyFormatter | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| currencySymbol : String
要用作格式化数字的货币符号的字符。 | CurrencyFormatter | ||
| decimalSeparatorFrom : String
分析输入字符串时使用的小数分隔符。 | CurrencyFormatter | ||
| decimalSeparatorTo : String
输出格式化的十进制数字时使用的小数分隔符。 | CurrencyFormatter | ||
![]() | error : String
发生错误时由 formatter 保存的说明。 | Formatter | |
| precision : Object
输出 String 中包含的小数位数。 | CurrencyFormatter | ||
| rounding : String
数字的舍入方式。 | CurrencyFormatter | ||
| thousandsSeparatorFrom : String
在输入 String 中用作千分位分隔符的字符。 | CurrencyFormatter | ||
| thousandsSeparatorTo : String
在输出 String 中用作千分位分隔符的字符。 | CurrencyFormatter | ||
| useNegativeSign : Object
如果为 true,则通过在数字前面添加减号 (-) 来设置负数的格式。 | CurrencyFormatter | ||
| useThousandsSeparator : Object
如果为 true,则会使用分隔符按千位递增将数字拆分。 | CurrencyFormatter | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
构造函数。 | CurrencyFormatter | ||
[覆盖]
将值设置为货币格式。 | CurrencyFormatter | ||
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
alignSymbol | 属性 |
currencySymbol | 属性 |
currencySymbol:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
要用作格式化数字的货币符号的字符。您可以使用一个或多个字符表示货币符号,例如“$”或“YEN”。您还可以使用空格在货币字符和格式化的数字之间添加一定空间。当该数字为负值时,货币符号将出现在数字与减号或括号之间。
默认值为 "$"。
实现
public function get currencySymbol():String public function set currencySymbol(value:String):voiddecimalSeparatorFrom | 属性 |
decimalSeparatorTo | 属性 |
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 中,此值可以是 "none"、"up"、"down" 或 "nearest"。
默认值为 NumberBaseRoundType.NONE。
实现
public function get rounding():String public function set rounding(value:String):void相关 API 元素
thousandsSeparatorFrom | 属性 |
thousandsSeparatorTo | 属性 |
useNegativeSign | 属性 |
useThousandsSeparator | 属性 |
CurrencyFormatter | () | 构造函数 |
public function CurrencyFormatter()| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
format | () | 方法 |
<?xml version="1.0" encoding="utf-8"?>
<!-- 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>
Tue Jun 12 2018, 11:04 AM Z

显示 MXML 语法