包 | flash.globalization |
类 | public final class CurrencyFormatter |
继承 | CurrencyFormatter Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
CurrencyFormatter 类使用操作系统提供的数据和功能,设计用于根据特定区域的约定和币种为币值设置格式。货币符号、负号、小数分隔符、分组分隔符、分组模式小数分隔符及其他元素的位置可以视区域设置而定。
如果操作系统支持请求的区域设置,则根据约定和请求的区域设置的默认值设置属性和货币类型。如果请求的区域设置不可用,则根据回退或默认系统区域设置来设置属性,可以使用 actualLocaleIDName
属性检索默认系统区域设置。
由于要使用用户的设置、要使用操作系统提供的格式设置模式,并在请求的区域设置不受支持时使用回退区域设置,因此,即便使用相同的区域设置 ID,对不同的用户显示的格式设置结果也可能不同。
属性 | 由以下参数定义 | ||
---|---|---|---|
actualLocaleIDName : String [只读]
此 CurrencyFormatter 对象使用的实际区域设置 ID 的名称。 | CurrencyFormatter | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
currencyISOCode : String [只读]
正在使用的实际区域设置的三个字母的 ISO 4217 币种代码。 | CurrencyFormatter | ||
currencySymbol : String [只读]
正在使用的实际区域设置的货币符号或字符串。 | CurrencyFormatter | ||
decimalSeparator : String
为包含小数部分的货币金额设置格式或对其进行解析时使用的小数分隔符字符。 | CurrencyFormatter | ||
digitsType : uint
定义为货币金额设置格式时使用的数字字符集。 | CurrencyFormatter | ||
fractionalDigits : int
小数分隔符后可以显示的最大位数。 | CurrencyFormatter | ||
groupingPattern : String
描述分组分隔符在设置了格式的货币金额字符串中的位置。 | CurrencyFormatter | ||
groupingSeparator : String
用于分组分隔符的字符或字符串。 | CurrencyFormatter | ||
lastOperationStatus : String [只读]
此 CurrencyFormatter 对象执行的最近操作的状态。 | CurrencyFormatter | ||
leadingZero : Boolean
指定当小数分隔符左侧没有整数位时,设置了格式的货币金额中是否包括前导零。 | CurrencyFormatter | ||
negativeCurrencyFormat : uint
表示负值货币金额的格式设置模式的数值。 | CurrencyFormatter | ||
negativeSymbol : String
设置负值货币金额的格式时使用的负号。 | CurrencyFormatter | ||
positiveCurrencyFormat : uint
表示正值货币金额的格式设置模式的数值。 | CurrencyFormatter | ||
requestedLocaleIDName : String [只读]
传递到此 CurrencyFormatter 对象的构造函数的请求的区域设置 ID 名称。 | CurrencyFormatter | ||
trailingZeros : Boolean
指定设置了格式的货币金额中是否包括尾随零。 | CurrencyFormatter | ||
useGrouping : Boolean
当设置货币金额格式时,启用分组分隔符。 | CurrencyFormatter |
方法 | 由以下参数定义 | ||
---|---|---|---|
CurrencyFormatter(requestedLocaleIDName:String)
构造新的 CurrencyFormatter 对象以根据给定区域设置的约定设置表示货币金额的数字格式。 | CurrencyFormatter | ||
创建字符串,该字符串表示根据此 CurrencyFormatter 对象的当前属性(包括区域设置、货币符号和货币 ISO 代码)设置格式的货币金额。 | CurrencyFormatter | ||
确定是否可使用当前指定的货币符号为货币金额设置格式。 | CurrencyFormatter | ||
[静态]
列出此类支持的所有区域设置 ID 名称。 | CurrencyFormatter | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
将字符串解析为货币金额和货币符号。 | CurrencyFormatter | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置 CurrencyFormatter 对象的 currencyISOCode 和 currencySymbol 属性。 | CurrencyFormatter | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
actualLocaleIDName | 属性 |
actualLocaleIDName:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
此 CurrencyFormatter 对象使用的实际区域设置 ID 的名称。
根据操作系统和传递给 CurrencyFormatter()
构造函数的 requestedLocaleIDName
参数的值,该名称有三种可能的值。
- 如果请求的区域设置不是
LocaleID.DEFAULT
且操作系统支持该请求的区域设置,则返回的名称与requestedLocaleIDName
属性相同。 - 如果将
LocaleID.DEFAULT
用作构造函数的requestedLocaleIDName
参数的值,则使用由用户操作系统指定的当前区域设置的名称。LocaleID.DEFAULT
值保留用户在操作系统中的自定义设置。显式值作为requestedLocaleIDName
参数传递与使用LocaleID.DEFAULT
所产生的结果不一定相同,即使两个区域设置 ID 名称相同,也是如此。用户可能已在他们的计算机上对区域设置进行了自定义,通过请求显式区域设置 ID 名称(而不是使用LocaleID.DEFAULT
),您的应用程序将不会检索这些自定义设置。 - 如果系统不支持在构造函数中指定的
requestedLocaleIDName
,则会提供回退区域设置 ID 名称。
实现
public function get actualLocaleIDName():String
相关 API 元素
currencyISOCode | 属性 |
currencyISOCode:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
正在使用的实际区域设置的三个字母的 ISO 4217 币种代码。
当使用 withCurrencySymbol
参数设置为 false
的 format()
方法设置货币金额格式时,此代码用于确定货币符号或字符串。
此属性由构造函数基于所使用的实际区域设置进行初始化。当使用回退区域设置时,此属性反映回退区域设置的首选币种代码、默认币种代码。
默认值为 dependent on the actual locale and operating system。
实现
public function get currencyISOCode():String
相关 API 元素
currencySymbol | 属性 |
currencySymbol:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
正在使用的实际区域设置的货币符号或字符串。
使用 withCurrencySymbol
参数设置为 true
的 format()
方法设置货币金额格式时,此属性用作货币符号。
此属性由构造函数基于所使用的实际区域设置进行初始化。当使用回退区域设置时,此属性反映回退区域设置的首选货币符号、默认货币符号。
默认值为 dependent on the actual locale and operating system。
实现
public function get currencySymbol():String
相关 API 元素
decimalSeparator | 属性 |
decimalSeparator:String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
为包含小数部分的货币金额设置格式或对其进行解析时使用的小数分隔符字符。
基于在构造格式程序对象时选择的区域设置对此属性进行最初设置。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get decimalSeparator():String
public function set decimalSeparator(value:String):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
digitsType | 属性 |
digitsType:uint
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
定义为货币金额设置格式时使用的数字字符集。
不同语言和区域使用不同的字符集表示数字 0 到 9。此属性定义要使用的数字集。
此属性值表示十进制数字集中数字 0 的 Unicode 值。在 NationalDigitsType 类中定义此属性的有效值。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get digitsType():uint
public function set digitsType(value:uint):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
fractionalDigits | 属性 |
fractionalDigits:int
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
小数分隔符后可以显示的最大位数。
数字舍入为由此属性指定的数字位数。舍入方案根据用户的操作系统不同而有所不同。
当 trailingZeros
属性设置为 true
时,用尾随零来填充数字的小数部分(小数点之后),直到数字长度与此 fractionalDigits
属性的值相匹配。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 0。
实现
public function get fractionalDigits():int
public function set fractionalDigits(value:int):void
相关 API 元素
groupingPattern | 属性 |
groupingPattern:String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
描述分组分隔符在设置了格式的货币金额字符串中的位置。
将 useGrouping
属性设置为 true 时,groupingPattern
属性用于定义分组分隔符所用的位置和模式。
分组模式定义为包含由分号分隔并可能以星号结尾的数字的字符串。例如:“3;2;*
”。字符串中的每个数字表示组中数字位数。分组分隔符置于每个数字组之前。字符串结尾的星号表示应在设置了格式的字符串的其余部分重复包含这一数字位数的组。如果没有星号,则在设置了格式的字符串的其余部分不会有其他组或分隔符。
字符串中的第一个数字对应于小数分隔符左边的第一组数字。随后的数字定义左边随后组中的数字位数。因此字符串“3;2;*”表示分组分隔符置于第一组 3 位数之后,后面跟 2 位数的组。例如:98,76,54,321
下表显示了使用多种分组模式为货币金额 123456789.12 设置格式的示例。分组分隔符为逗号、小数分隔符为句点,美元符号 ($) 是货币符号。
分组模式 | 示例格式 |
3;* | $123,456,789.12 |
3;2;* | $12,34,56,789.12 |
3 | $123456,789.12 |
仅可以定义有限的分组数字个数。在某些操作系统上,分组模式只能包含两个数字加一个星号。其他操作系统最多可以支持四个数字加一个星号。对于不含星号的模式,某些操作系统只支持一个数字,而其它操作系统最多支持三个数字。如果超过分组模式元素的最大数,则忽略其他元素,并按如下所述设置 lastOperationStatus
属性。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
实现
public function get groupingPattern():String
public function set groupingPattern(value:String):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
groupingSeparator | 属性 |
groupingSeparator:String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
用于分组分隔符的字符或字符串。
当 useGrouping
属性设置为 true
时,在设置货币金额格式时此属性的值用作分组分隔符。基于在构造格式程序对象时选择的区域设置对此属性进行最初设置。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get groupingSeparator():String
public function set groupingSeparator(value:String):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
lastOperationStatus | 属性 |
leadingZero | 属性 |
leadingZero:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
指定当小数分隔符左侧没有整数位时,设置了格式的货币金额中是否包括前导零。
当此属性设置为 true
时,在设置 -1.0 到 1.0 之间的数值的格式时,小数分隔符左侧包括前导零。当此属性设置为 false
时,不包括前导零。
例如,如果货币金额是 0.321,并且此属性设置为 true
,则设置了格式的字符串中包括前导零。如果将此属性设置为 false
,则不包括前导零。在这种情况下,字符串中将仅包括小数分隔符及后跟的十进制数字,形如 $.321
。
下表提供了几个示例,显示如何基于此属性以及相关的 fractionalDigits
和 trailingZeros
属性的值来设置货币金额的格式。
trailingZeros | leadingZero | fractionalDigits | 0.12 | 0 |
true | true | 3 | $0.120 | $0.000 |
false | true | 3 | $0.12 | $0 |
true | false | 3 | $.120 | $.000 |
false | false | 3 | $.12 | $0 |
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get leadingZero():Boolean
public function set leadingZero(value:Boolean):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
negativeCurrencyFormat | 属性 |
negativeCurrencyFormat:uint
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
表示负值货币金额的格式设置模式的数值。此模式定义货币符号和负号或圆括号相对于货币金额的数字部分的位置。
此属性的值必须是在下表中定义的常量之一。
下表总结了负值货币金额的可能的格式设置模式。在使用 format()
方法为货币金额设置格式时:
- “¤”符号由
currencyISOCode
或currencySymbol
属性的值替换,视传递到format()
方法的withCurrencySymbol
参数值而定; - “-”字符由
negativeNumberSymbol
属性的值替换; - “n”字符由传递到
format()
方法的货币金额值替换。
负值货币格式类型 | 格式化图案 |
0 | (¤n) |
1 | -¤n |
2 | ¤-n |
3 | ¤n- |
4 | (n¤) |
5 | -n¤ |
6 | n-¤ |
7 | n¤- |
8 | -n ¤ |
9 | -¤ n |
10 | n ¤- |
11 | ¤ n- |
12 | ¤ -n |
13 | n- ¤ |
14 | (¤ n) |
15 | (n ¤) |
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get negativeCurrencyFormat():uint
public function set negativeCurrencyFormat(value:uint):void
引发
ArgumentError — 如果指定的值不介于 0 到 15 之间。
|
相关 API 元素
negativeSymbol | 属性 |
negativeSymbol:String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
设置负值货币金额的格式时使用的负号。
为小于零的货币金额设置格式时,将此符号与负值货币格式一同使用。在不包括负号的负值货币格式中不使用它(例如,使用圆括号括起的负值货币金额)。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get negativeSymbol():String
public function set negativeSymbol(value:String):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
positiveCurrencyFormat | 属性 |
positiveCurrencyFormat:uint
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
表示正值货币金额的格式设置模式的数值。此格式定义货币符号相对于货币金额数值部分的位置。
此属性的值必须是在下表中定义的常量之一。
下表总结了正值货币金额的可能的格式设置模式。在使用 format()
方法为货币金额设置格式时:
- “¤”符号由
currencyISOCode
或currencySymbol
属性的值替换,视传递到format()
方法的withCurrencySymbol
参数值而定; - “n”字符由传递到
format()
方法的货币金额值替换。
正值货币格式类型 | 格式化图案 |
0 | ¤n |
1 | n¤ |
2 | ¤ n |
3 | n ¤ |
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get positiveCurrencyFormat():uint
public function set positiveCurrencyFormat(value:uint):void
引发
ArgumentError — 如果指定的值不介于 0 到 3 之间。
|
相关 API 元素
requestedLocaleIDName | 属性 |
requestedLocaleIDName:String
[只读] 语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
传递到此 CurrencyFormatter 对象的构造函数的请求的区域设置 ID 名称。
如果使用了 LocaleID.DEFAULT
值,则返回的名称将是“i-default”。如果应用了回退区域设置,则实际使用的区域设置可能与请求的区域设置不同。可以使用 actualLocaleIDName
属性检索实际区域设置的名称。
实现
public function get requestedLocaleIDName():String
相关 API 元素
trailingZeros | 属性 |
trailingZeros:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
指定设置了格式的货币金额中是否包括尾随零。
当此属性设置为 true
时,设置了格式的数字的小数部分包括尾随零,并且位数限制为 fractionalDigits
属性指定的值。当此属性设置为 false
时,则不显示尾随零。
例如,如果货币金额是 123.4,并且此属性设置为 true,fractionalDigits
的属性设置为 3,则此设置了格式的字符串中将显示结尾零,形如 $123.400
。如果此属性为 false
,则不包括尾随零,并且该字符串仅显示小数分隔符以及后面的非零十进制数,形如 $123.4
。
下表提供了几个示例,显示如何基于此属性以及相关的 fractionalDigits
和 leadingZero
属性的值来设置货币金额的格式。
trailingZeros | leadingZero | fractionalDigits | 0.12 | 0 |
true | true | 3 | $0.120 | $0.000 |
false | true | 3 | $0.12 | $0 |
true | false | 3 | $.120 | $.000 |
false | false | 3 | $.12 | $0 |
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
默认值为 dependent on the actual locale and operating system。
实现
public function get trailingZeros():Boolean
public function set trailingZeros(value:Boolean):void
引发
TypeError — 如果为此属性分配 null 值。
|
相关 API 元素
useGrouping | 属性 |
useGrouping:Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
当设置货币金额格式时,启用分组分隔符。
当 useGrouping
属性设置为 true
时,数字进行分组并且使用分组分隔符字符进行分隔。例如:$123,456,789
当 useGrouping
属性设置为 false
时,数字不进行分组或分隔。例如:$123456789
groupingSeparator
属性定义用作分组分隔符的符号。groupingPattern
属性定义分组分隔符之间的位数。
为此属性分配了值并且未引发错误或警告时,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
实现
public function get useGrouping():Boolean
public function set useGrouping(value:Boolean):void
相关 API 元素
CurrencyFormatter | () | 构造函数 |
public function CurrencyFormatter(requestedLocaleIDName:String)
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
构造新的 CurrencyFormatter 对象以根据给定区域设置的约定设置表示货币金额的数字格式。
此构造函数确定当前操作系统是否支持请求的区域设置 ID 名称。如果不支持,则使用回退区域设置。如果使用了回退区域设置,则 lastOperationStatus
属性表示回退类型,并且 actualLocaleIDName
属性包含回退区域设置 ID 的名称。
某些属性,如 currencySymbol
和 currencyISOCode
,会根据区域设置自动设置。
注意:当使用回退区域设置时,货币属性设置为默认值,所以 currencySymbol
或 currencyISOCode
属性可能被设为意外的值。在为货币金额设置格式前,最好先检查 currencySymbol
和 currencyISOCode
属性值。
要根据用户的当前操作系统首选项进行格式设置,请将 requestedLocaleIDName
参数中的值 LocaleID.DEFAULT
传递给构造函数。
调用构造函数并成功完成后,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
如果请求的区域设置 ID 名称不可用,则将 lastOperationStatus
属性设置为下列属性之一:
LastOperationStatus.USING_FALLBACK_WARNING
LastOperationStatus.USING_DEFAULT_WARNING
否则,将 lastOperationStatus
属性设置为 LastOperationStatus 类中定义的其中一个常量。
有关以上列出的警告和 lastOperationStatus
属性其他可能值的详细信息,请参阅 LastOperationStatus
类中的说明。
requestedLocaleIDName:String — 确定日期或时间格式时使用的首选区域设置 ID 名称。
|
引发
TypeError — 如果 requestedLocaleIDName 参数为 null 。
|
相关 API 元素
format | () | 方法 |
public function format(value:Number, withCurrencySymbol:Boolean = false):String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
创建字符串,该字符串表示根据此 CurrencyFormatter 对象的当前属性(包括区域设置、货币符号和货币 ISO 代码)设置格式的货币金额。
默认情况下,此方法使用 currencyISOCode
属性确定设置格式时使用的货币符号和其他设置。
许多国家/地区和区域使用同一货币符号来表示不同币种。例如,美国、澳大利亚、新西兰、加拿大和墨西哥使用同一种美元符号 ($) 来本地货币值。当设置格式的货币与用户的本地货币不同时,最好使用 ISO 代码作为货币字符串。可使用 formattingWithCurrencySymbolIsSafe()
方法测试要设置格式的货币的 ISO 代码是否与格式程序的 currencyISOCode
属性匹配。
此方法可为极大数量级和极小数量级的数字设置格式。但有效位数不得超过 Number 数据类型提供的精度。
参数
value:Number — 将设置格式以成为货币字符串的数值。
| |
withCurrencySymbol:Boolean (default = false ) — 设置为 false 时,currencyISOCode 属性确定在输出字符串中使用哪种货币字符串或符号。设置为 true 时,输出字符串中使用 currencySymbol 属性的当前值。
|
String — 一个字符串,其中包含设置了格式的货币值。
|
相关 API 元素
currencyISOCode
formattingWithCurrencySymbolIsSafe()
lastOperationStatus
LastOperationStatus
示例 ( 如何使用本示例 )
withCurrencySymbol
参数设置为 true 时,使用 currencySymbol
属性为货币金额设置格式。
var cf:CurrencyFormatter = new CurrencyFormatter("fr-CA"); trace(cf.actualLocaleIDName); // "fr-CA" trace(cf.currencyISOCode); // "CAD" trace(cf.currencySymbol); // "$" trace(cf.format(1254.56)); // "1 254,56 CAD" trace(cf.format(1254.56, true)); // "1 254,56 $"
第二个示例显示使用默认用户的区域设置为以加拿大元表示的货币金额设置格式的方法。formattingWithCurrencySymbolIsSafe()
方法用于测试用户的默认货币是否为加拿大元,如果是,则使用此格式方法并将 withCurrencySymbol
参数设置为 true。否则,使用更具说明性的货币符号将货币设置为加拿大元。此示例显示当默认区域设置是法语(加拿大)或英语(美国)时如何为货币设置格式。
var cf:CurrencyFormatter = new CurrencyFormatter(LocaleID.DEFAULT); if (cf.formattingWithCurrencySymbolIsSafe("CAD")) { trace(cf.actualLocaleIDName); // "fr-CA French (Canada)" trace(cf.format(1254.56, false)); // "1 254,56 $" } else { trace(cf.actualLocaleIDName); // "en-US English (USA)" cf.setCurrency("CAD", "C$") trace(cf.format(1254.56, true)); // "C$ 1,254.56" }
formattingWithCurrencySymbolIsSafe | () | 方法 |
public function formattingWithCurrencySymbolIsSafe(requestedISOCode:String):Boolean
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
确定是否可使用当前指定的货币符号为货币金额设置格式。
许多区域和国家/地区使用同一货币符号。此方法可用于确保避免使用存在歧义的货币符号,或使用由于使用回退区域设置而导致的与预期不同的货币符号或 ISO 代码。
此方法的一个常见用例是确定显示本地货币符号(如果将金额的格式设置为用户的默认货币)还是显示更加具体的 ISO 代码字符串(如果将金额的格式设置为与用户的默认货币不同的货币)。
此方法将 requestedISOCode
参数与当前 currencyISOCode
属性做比较,当两个字符串相等时返回 true
,否则返回 false
。当两个字符串相等时,使用 format()
方法并将 withCurrencySymbol
参数设置为 true
会导致设置了格式的货币值字符串具有该区域设置的唯一货币符号。如果该方法返回 false,则使用 format()
方法并将 withCurrencySymbol
参数设置为 true 会导致使用存在歧义或不正确的货币符号。
调用此方法并成功完成后,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
参数
requestedISOCode:String — 三个字母的 ISO 4217 币种代码(例如,美元为 USD,欧元为 EUR)。必须包含从 A 到 Z 的三个大写字母。
|
Boolean — 如果 currencyISOCode 属性与 requestedISOCode 参数相匹配,为 true ;否则为 false 。
|
引发
TypeError — 如果 requestedISOCode 参数为 null。
|
相关 API 元素
getAvailableLocaleIDNames | () | 方法 |
public static function getAvailableLocaleIDNames():Vector.<String>
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
列出此类支持的所有区域设置 ID 名称。
如果当前操作系统不支持此类,此方法返回 null 值。
调用此方法并成功完成后,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
Vector.<String> — 一个字符串矢量,其中包含此类支持的所有区域设置 ID 名称。
|
parse | () | 方法 |
public function parse(inputString:String):CurrencyParseResult
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
将字符串解析为货币金额和货币符号。
此解析算法使用 decimalSeparator
属性的值确定数值的整数部分和小数部分。它使用 negativeCurrencyFormat
和 positiveCurrencyFormat
属性的值确定与货币金额相关的货币符号或字符串的位置。对于负数金额,negativeCurrencyFormat
属性的值确定负号的位置以及是否使用圆括号。
如果输入字符串中的货币符号、负号和数字的顺序与 negativeCurrencyFormat
和 positiveCurrencyFormat
属性标识的模式不匹配,则:
- 返回的 CurrencyParseResult 对象的
value
属性设置为NaN
。 - 返回的 CurrencyParseResult 对象的
currencyString
属性设置为null
。 - 设置
lastOperationStatus
属性以表示解析失败。
输入字符串中可以包括空格字符,解析期间将忽略空格字符。
即使没有货币符号解析也可成功。没有验证与货币符号对应的字符串部分。如果没有货币符号或字符串,返回的 CurrencyParseResult 对象中的 currencyString
属性设置为空字符串。
调用此方法并成功完成后,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,将 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
参数
inputString:String — 要解析的输入字符串。
|
CurrencyParseResult — 一个包含数值和货币符号或字符串的 CurrencyParseResult 对象。
|
引发
TypeError — 如果 inputString 参数为 null。
|
相关 API 元素
setCurrency | () | 方法 |
public function setCurrency(currencyISOCode:String, currencySymbol:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
设置 CurrencyFormatter 对象的 currencyISOCode
和 currencySymbol
属性。
调用此方法并成功完成后,将 lastOperationStatus
属性设置为:
LastOperationStatus.NO_ERROR
否则,currencyISOCode
和 currencySymbol
属性不会进行修改,并且 lastOperationStatus
属性设置为 LastOperationStatus
类中定义的一个常量。
参数
currencyISOCode:String — 三个字母的 ISO 4217 币种代码(例如,美元为 USD,欧元为 EUR)。必须包含从 A 到 Z 的三个大写字母。
| |
currencySymbol:String — 为货币值设置格式时要使用的货币符号或字符串。这可以是空字符串。
|
引发
TypeError — 如果 currencyISOCode 或 currencySymbol 参数为 null。
|
相关 API 元素
此示例使用下列区域设置:
- 货币格式设置的默认操作系统区域设置 (
LocaleID.DEFAULT
) - 日语(日本)
- 英语(美国)
- 法语(法国)
此示例为该列表中的每个区域设置执行下列操作:
- 创建 CurrencyFormatter 对象
- 使用
formattingWithCurrencySymbolIsSafe()
方法检查区域设置的默认货币是否是欧元(“EUR”),如果是,则使用该货币符号设置字符串格式。如果不是,则使用 ISO 代码设置字符串格式。
package { import flash.display.Sprite; import flash.globalization.CurrencyFormatter; import flash.globalization.LocaleID; public class CurrencyFormatterExample1 extends Sprite { public function CurrencyFormatterExample1():void { var cf:CurrencyFormatter; var amountWithSymbol:String; var amountWithISOCode:String var localeNames:Array = [LocaleID.DEFAULT, "ja-JP", "en-US", "fr-FR"]; for each (var localeName:String in localeNames) { cf = new CurrencyFormatter(localeName); trace('\n' + "LocaleID requested=" + cf.requestedLocaleIDName + "; actual=" + cf.actualLocaleIDName); trace("Last Operation Status: " + cf.lastOperationStatus ); trace("Currency ISO Code: " + cf.currencyISOCode); if (cf.formattingWithCurrencySymbolIsSafe("EUR")) { amountWithSymbol = cf.format(123456789.19, true); trace("Format using Symbol: "+ amountWithSymbol); } else { amountWithISOCode = cf.format(123456789.19); trace("Format using ISO Code: " + amountWithISOCode); } } } } }
此示例执行下列步骤:
- 针对英语(美国)区域设置创建 CurrencyFormatter 对象。
- 使用
parse()
方法解析输入字符串。 - 显示生成的 CurrencyParseResult 对象的金额和货币字符串值。
package { import flash.display.Sprite; import flash.globalization.CurrencyFormatter; import flash.globalization.CurrencyParseResult; import flash.globalization.LastOperationStatus; import flash.globalization.LocaleID; public class CurrencyFormatterParseExample extends Sprite { public function CurrencyFormatterParseExample() { var cf:CurrencyFormatter = new CurrencyFormatter( "en_US" ); trace("LocaleID requested=" + cf.requestedLocaleIDName + "; actual=" + cf.actualLocaleIDName); trace("Last Operation Status: " + cf.lastOperationStatus ); var inputString:String = "Dollar 123,567,89,0.254"; var result:CurrencyParseResult = cf.parse(inputString); if (cf.lastOperationStatus == LastOperationStatus.NO_ERROR ) { trace("Amount value: " + result.value); trace("Currency string: " + result.currencyString); } } } }
Tue Jun 12 2018, 11:04 AM Z