public class Currency
extends MeasureUnit
java.lang.Object | ||
↳ | android.icu.util.MeasureUnit | |
↳ | android.icu.util.Currency |
一个封装货币的类,如ISO 4217所定义的。一个Currency对象可以创建为Locale或给定ISO 4217代码。 一旦创建, Currency对象可以返回其正确显示所需的各种数据:
注意:该类故意类似于 java.util.Currency,但它具有完全独立的实现,并添加了JDK中不存在的功能。
Nested classes |
|
---|---|
枚举 |
Currency.CurrencyUsage 用于十进制格式的货币使用情况 |
Constants |
|
---|---|
int |
LONG_NAME getName()指示货币的长名称的选择器,例如USD为“US Dollar”。 |
int |
PLURAL_LONG_NAME 用于表示货币的复数长名称的getName()的选择器,例如以“1美元”为美元的“美元”和以“2美元”为美元的“美元”。 |
int |
SYMBOL_NAME getName()的选择器,用于指示货币的符号名称,例如USD为“$”。 |
Inherited fields |
---|
From class android.icu.util.MeasureUnit
|
Protected constructors |
|
---|---|
Currency(String theISOCode) 为给定的ISO 4217 3个字母的代码构造货币对象。 |
Public methods |
|
---|---|
static Set<Currency> |
getAvailableCurrencies() 返回可用货币的集合。 |
static String[] |
getAvailableCurrencyCodes(ULocale loc, Date d) 返回一个字符串数组,其中包含对给定日期的给定语言环境有效的货币标识符。 |
static String[] |
getAvailableCurrencyCodes(Locale loc, Date d) 返回一个字符串数组,其中包含对给定日期的给定 |
static Locale[] |
getAvailableLocales() 返回定义货币的语言环境数组。 |
static ULocale[] |
getAvailableULocales() 返回定义货币的ulocales数组。 |
String |
getCurrencyCode() 返回此货币对象的ISO 4217 3个字母的代码。 |
int |
getDefaultFractionDigits() 返回应为此货币显示的小数位数的数目。 |
int |
getDefaultFractionDigits(Currency.CurrencyUsage Usage) 返回使用情况下应为此货币显示的小数位数的数量。 |
String |
getDisplayName() 以默认区域设置返回此货币的显示名称。 |
String |
getDisplayName(Locale locale) 返回给定语言环境中此货币的显示名称。 |
static Currency |
getInstance(String theISOCode) 根据ISO 4217 3个字母的代码返回货币对象。 |
static Currency |
getInstance(Locale locale) 返回给定语言环境中默认货币的货币对象。 |
static Currency |
getInstance(ULocale locale) 返回给定语言环境中默认货币的货币对象。 |
static final String[] |
getKeywordValuesForLocale(String key, ULocale locale, boolean commonlyUsed) 给定一个键和一个语言环境,为数据所在的键返回一个数组值。 |
String |
getName(Locale locale, int nameStyle, String pluralCount, boolean[] isChoiceFormat) 返回给定语言环境中给定货币的显示名称。 |
String |
getName(Locale locale, int nameStyle, boolean[] isChoiceFormat) 返回给定语言环境中给定货币的显示名称。 |
String |
getName(ULocale locale, int nameStyle, boolean[] isChoiceFormat) 返回给定语言环境中给定货币的显示名称。 |
String |
getName(ULocale locale, int nameStyle, String pluralCount, boolean[] isChoiceFormat) 返回给定语言环境中给定货币的显示名称。 |
int |
getNumericCode() 返回此货币对象的ISO 4217数字代码。 |
double |
getRoundingIncrement() 返回此币种的舍入增量值,如果此币种未舍入,则返回0.0。 |
double |
getRoundingIncrement(Currency.CurrencyUsage Usage) 返回此货币的舍入增量值,如果此货币未使用“用法”进行舍入,则返回0.0。 |
String |
getSymbol() getName的便捷和兼容性覆盖,请求默认 |
String |
getSymbol(Locale loc) 请求符号名称的getName的便捷性和兼容性覆盖。 |
String |
getSymbol(ULocale uloc) 请求符号名称的getName的便捷性和兼容性覆盖。 |
static boolean |
isAvailable(String code, Date from, Date to) 查询指定日期范围内是否有指定的ISO 4217 3位字母代码。 |
String |
toString() 返回此货币的ISO 4217代码。 |
Inherited methods |
|
---|---|
From class android.icu.util.MeasureUnit
|
|
From class java.lang.Object
|
int LONG_NAME
getName()指示货币的长名称的选择器,例如USD为“US Dollar”。
常数值:1(0x00000001)
int PLURAL_LONG_NAME
用于表示货币的复数长名称的getName()的选择器,例如以“1美元”为美元的“美元”和以“2美元”为美元的“美元”。
常量值:2(0x00000002)
int SYMBOL_NAME
getName()的选择器,用于指示货币的符号名称,例如USD为“$”。
常量值:0(0x00000000)
Currency (String theISOCode)
为给定的ISO 4217 3个字母的代码构造货币对象。 这个构造函数假定代码是有效的。
Parameters | |
---|---|
theISOCode |
String : The iso code used to construct the currency. |
Set<Currency> getAvailableCurrencies ()
返回可用货币的集合。 返回的一组货币包含所有可用的货币,包括过时的货币。 结果集可以在不影响运行时可用货币的情况下进行修改。
Returns | |
---|---|
Set<Currency> |
The set of available currencies. The returned set could be empty if there is no currency data available. |
String[] getAvailableCurrencyCodes (ULocale loc, Date d)
返回一个字符串数组,其中包含对给定日期的给定语言环境有效的货币标识符。 如果没有这样的标识符,则返回null。 返回的标识符是优先顺序。
Parameters | |
---|---|
loc |
ULocale : the locale for which to retrieve currency codes. |
d |
Date : the date for which to retrieve currency codes for the given locale. |
Returns | |
---|---|
String[] |
The array of ISO currency codes. |
String[] getAvailableCurrencyCodes (Locale loc, Date d)
返回包含给定日期的给定Locale
有效货币标识符的字符串数组。 如果没有这样的标识符,则返回null。 返回的标识符是优先顺序。
Parameters | |
---|---|
loc |
Locale : the Locale for which to retrieve currency codes. |
d |
Date : the date for which to retrieve currency codes for the given locale. |
Returns | |
---|---|
String[] |
The array of ISO currency codes. |
Locale[] getAvailableLocales ()
返回定义货币的语言环境数组。
Returns | |
---|---|
Locale[] |
an array of the available locales |
ULocale[] getAvailableULocales ()
返回定义货币的ulocales数组。
Returns | |
---|---|
ULocale[] |
an array of the available ulocales |
String getCurrencyCode ()
返回此货币对象的ISO 4217 3个字母的代码。
Returns | |
---|---|
String |
int getDefaultFractionDigits ()
返回应为此货币显示的小数位数的数目。 这相当于getDefaultFractionDigits(CurrencyUsage.STANDARD);
Returns | |
---|---|
int |
a non-negative number of fraction digits to be displayed |
int getDefaultFractionDigits (Currency.CurrencyUsage Usage)
返回使用情况下应为此货币显示的小数位数的数量。
Parameters | |
---|---|
Usage |
Currency.CurrencyUsage : the usage of currency(Standard or Cash) |
Returns | |
---|---|
int |
a non-negative number of fraction digits to be displayed |
String getDisplayName ()
以默认区域设置返回此货币的显示名称。 如果默认语言环境的资源数据不包含此货币的条目,则返回ISO 4217代码。
注意:这种方法相当于 getDisplayName()
,相当于 getName(Locale.getDefault(), LONG_NAME, null)
。
Returns | |
---|---|
String |
The display name of this currency |
String getDisplayName (Locale locale)
返回给定语言环境中此货币的显示名称。 如果给定语言环境的资源数据不包含此货币的条目,则返回ISO 4217代码。
注意:这种方法相当于 getDisplayName(java.util.Locale)
,相当于 getName(locale, LONG_NAME, null)
。
Parameters | |
---|---|
locale |
Locale : locale in which to display currency |
Returns | |
---|---|
String |
The display name of this currency for the specified locale |
Currency getInstance (String theISOCode)
根据ISO 4217 3个字母的代码返回货币对象。
Parameters | |
---|---|
theISOCode |
String : the iso code |
Returns | |
---|---|
Currency |
the currency for this iso code |
Throws | |
---|---|
NullPointerException |
if theISOCode is null. |
IllegalArgumentException |
if theISOCode is not a 3-letter alpha code. |
Currency getInstance (Locale locale)
返回给定语言环境中默认货币的货币对象。
Parameters | |
---|---|
locale |
Locale : the locale |
Returns | |
---|---|
Currency |
the currency object for this locale |
Currency getInstance (ULocale locale)
返回给定语言环境中默认货币的货币对象。
Parameters | |
---|---|
locale |
ULocale
|
Returns | |
---|---|
Currency |
String[] getKeywordValuesForLocale (String key, ULocale locale, boolean commonlyUsed)
给定一个键和一个语言环境,为数据所在的键返回一个数组值。 如果通常使用的是真的,则这些是通常与本地区一起使用的值,否则这些值都是数据存在的值。 这是一个通用的服务API。
唯一支持的键是“货币”,其他值返回一个空数组。
货币信息基于区域设置。 如果区域设置不指示区域,则使用addLikelySubtags(ULocale)
来推断区域,除了“und”区域设置。
如果常用,则仅返回截至当前日期时已知使用的货币。 如果有多于一个, 则按优先顺序返回(通常,这是在一个国家转换为新货币时发生的,而较新的货币则是首选),请参阅Unicode TR#35 Sec. C1 。 如果通常使用的是错误的,则所有在任何区域中使用的货币都将返回,而不是按特定顺序。
Parameters | |
---|---|
key |
String : key whose values to look up. the only recognized key is "currency" |
locale |
ULocale : the locale |
commonlyUsed |
boolean : if true, return only values that are currently used in the locale. Otherwise returns all values. |
Returns | |
---|---|
String[] |
an array of values for the given key and the locale. If there is no data, the array will be empty. |
String getName (Locale locale, int nameStyle, String pluralCount, boolean[] isChoiceFormat)
返回给定语言环境中给定货币的显示名称。 这是getName(ULocale,int,String,boolean [])的方便重载;
Parameters | |
---|---|
locale |
Locale
|
nameStyle |
int
|
pluralCount |
String
|
isChoiceFormat |
boolean
|
Returns | |
---|---|
String |
String getName (Locale locale, int nameStyle, boolean[] isChoiceFormat)
返回给定语言环境中给定货币的显示名称。 这是getName(ULocale,int,boolean [])方便的方法;
Parameters | |
---|---|
locale |
Locale
|
nameStyle |
int
|
isChoiceFormat |
boolean
|
Returns | |
---|---|
String |
String getName (ULocale locale, int nameStyle, boolean[] isChoiceFormat)
返回给定语言环境中给定货币的显示名称。 例如,en_US区域设置中美元货币对象的显示名称为“$”。
Parameters | |
---|---|
locale |
ULocale : locale in which to display currency |
nameStyle |
int : selector for which kind of name to return. The nameStyle should be either SYMBOL_NAME or LONG_NAME. Otherwise, throw IllegalArgumentException. |
isChoiceFormat |
boolean : fill-in; isChoiceFormat[0] is set to true if the returned value is a ChoiceFormat pattern; otherwise it is set to false |
Returns | |
---|---|
String |
display string for this currency. If the resource data contains no entry for this currency, then the ISO 4217 code is returned. If isChoiceFormat[0] is true, then the result is a ChoiceFormat pattern. Otherwise it is a static string. Note: as of ICU 4.4, choice formats are not used, and the value returned in isChoiceFormat is always false. |
Throws | |
---|---|
IllegalArgumentException |
if the nameStyle is not SYMBOL_NAME or LONG_NAME. |
String getName (ULocale locale, int nameStyle, String pluralCount, boolean[] isChoiceFormat)
返回给定语言环境中给定货币的显示名称。 例如,en_US语言环境中的USD货币对象的SYMBOL_NAME是“$”。 当货币数量为复数时,PLURAL_LONG_NAME为美元货币对象为“美元”,例如“3.00美元”; 而当货币数量为单数时,PLURAL_LONG_NAME对美元货币表示“美元”,例如“1.00美元”。
Parameters | |
---|---|
locale |
ULocale : locale in which to display currency |
nameStyle |
int : selector for which kind of name to return |
pluralCount |
String : plural count string for this locale |
isChoiceFormat |
boolean : fill-in; isChoiceFormat[0] is set to true if the returned value is a ChoiceFormat pattern; otherwise it is set to false |
Returns | |
---|---|
String |
display string for this currency. If the resource data contains no entry for this currency, then the ISO 4217 code is returned. If isChoiceFormat[0] is true, then the result is a ChoiceFormat pattern. Otherwise it is a static string. Note: as of ICU 4.4, choice formats are not used, and the value returned in isChoiceFormat is always false. |
Throws | |
---|---|
IllegalArgumentException |
if the nameStyle is not SYMBOL_NAME, LONG_NAME, or PLURAL_LONG_NAME. |
int getNumericCode ()
返回此货币对象的ISO 4217数字代码。
注意:如果未为货币分配ISO 4217数字代码或货币未知,则此方法返回0。
Returns | |
---|---|
int |
The ISO 4217 numeric code of this currency. |
double getRoundingIncrement ()
返回此币种的舍入增量值,如果此币种未舍入,则返回0.0。 这相当于getRoundingIncrement(CurrencyUsage.STANDARD);
Returns | |
---|---|
double |
the non-negative rounding increment, or 0.0 if none |
double getRoundingIncrement (Currency.CurrencyUsage Usage)
返回此货币的舍入增量值,如果此货币未使用“用法”进行舍入,则返回0.0。
Parameters | |
---|---|
Usage |
Currency.CurrencyUsage : the usage of currency(Standard or Cash) |
Returns | |
---|---|
double |
the non-negative rounding increment, or 0.0 if none |
String getSymbol ()
getName的便利性和兼容性覆盖,请求默认 DISPLAY
语言环境的符号名称。
Returns | |
---|---|
String |
String getSymbol (Locale loc)
请求符号名称的getName的便捷性和兼容性覆盖。
Parameters | |
---|---|
loc |
Locale : the Locale for the symbol |
Returns | |
---|---|
String |
String getSymbol (ULocale uloc)
请求符号名称的getName的便捷性和兼容性覆盖。
Parameters | |
---|---|
uloc |
ULocale : the ULocale for the symbol |
Returns | |
---|---|
String |
boolean isAvailable (String code, Date from, Date to)
查询指定日期范围内是否有指定的ISO 4217 3位字母代码。
注意:要查看特定日期货币的可用性,请在from
和to
上指定日期。 当from
和to
都为空时,此方法将检查指定的货币是否始终可用。
Parameters | |
---|---|
code |
String : The ISO 4217 3-letter code. |
from |
Date : The lower bound of the date range, inclusive. When from is null, check the availability of the currency any date before to |
to |
Date : The upper bound of the date range, inclusive. When to is null, check the availability of the currency any date after from |
Returns | |
---|---|
boolean |
true if the given ISO 4217 3-letter code is supported on the specified date range. |
Throws | |
---|---|
IllegalArgumentException |
when to is before from . |
String toString ()
返回此货币的ISO 4217代码。
Returns | |
---|---|
String |
a string representation of the object. |