public final class Currency extends Object implements Serializable
该课程的设计使得任何给定的货币都不会有一个以上的Currency
实例。 因此,没有公共建设者。 您使用getInstance
方法获取Currency
实例。
用户可以通过系统属性java.util.currency.data
Java运行时货币数据。 如果定义了该系统属性,则其值是属性文件的位置,其内容分别是ISO 3166国家代码和ISO 4217货币数据的键/值对。 价值部分由货币的三个ISO 4217值组成,即字母代码,数字代码和次要单位。 这三个ISO 4217值用逗号分隔。 以'#'开头的行被视为注释行。 如果用户需要指定切换日期来指示新数据何时生效,则可以为每个货币条目指定可选的UTC时间戳。 时间戳附加到货币属性的末尾,并使用逗号作为分隔符。 如果UTC时间戳存在且有效,则如果当前UTC日期晚于类加载时指定的日期,JRE将仅使用新的货币属性。 时间戳的格式必须为ISO 8601格式: 'yyyy-MM-dd'T'HH:mm:ss'
。 例如,
#Sample currency properties
JP=JPZ,999,0
将取代日本的货币数据。
#Sample currency properties with cutover date
JP=JPZ,999,0,2014-01-01T00:00:00
如果Currency
课程在2014年1月1日以后00:00:00 GMT加载,将取代日本的货币数据。
在遇到语法错误的条目时,将忽略该条目,并处理文件中其余的条目。 对于那些重复的国家代码项存在的情况下,对于该货币信息的行为Currency
是未定义的条目在文件中的其余部分进行处理。
Modifier and Type | Method and Description |
---|---|
static Set<Currency> |
getAvailableCurrencies()
获得一组可用的货币。
|
String |
getCurrencyCode()
获得此货币的ISO 4217货币代码。
|
int |
getDefaultFractionDigits()
获取与该货币一起使用的默认小数位数。
|
String |
getDisplayName()
|
String |
getDisplayName(Locale locale)
获取适用于显示指定区域设置的货币的名称。
|
static Currency |
getInstance(Locale locale)
返回指定区域的国家/地区的
Currency 实例。
|
static Currency |
getInstance(String currencyCode)
返回给定货币代码的
Currency 实例。
|
int |
getNumericCode()
返回此货币的ISO 4217数字代码。
|
String |
getSymbol()
获取默认的
DISPLAY 区域设置的这种货币的符号。
|
String |
getSymbol(Locale locale)
获取指定区域设置的货币符号。
|
String |
toString()
返回此货币的ISO 4217货币代码。
|
public static Currency getInstance(String currencyCode)
Currency
实例。
currencyCode
- 货币的ISO 4217代码
Currency
实例
NullPointerException
- 如果
currencyCode
为空
IllegalArgumentException
- 如果
currencyCode
不是支持的ISO 4217代码。
public static Currency getInstance(Locale locale)
Currency
实例。
语言环境的语言和变体组件将被忽略。
随着国家改变货币,结果可能会随时间而变化。
例如,对于欧洲货币联盟的原始成员国,该方法将2001年12月31日之前的旧货币和2002年1月1日的欧元兑换为各国当地时间。
该方法将返回null
用于没有货币的地区,如南极洲。
locale
- 需要国家一个
Currency
实例的地区
Currency
实例为给定地区的国家,或
null
NullPointerException
- 如果
locale
或其国家代码是
null
IllegalArgumentException
- 如果给定的国家/地区
locale
不是支持的ISO 3166国家代码。
public static Set<Currency> getAvailableCurrencies()
public String getCurrencyCode()
public String getSymbol()
DISPLAY
区域设置。
例如,对于美元,如果默认语言环境是美国,则符号为“$”,而对于其他语言环境则可能为“US $”。
如果不能确定符号,则返回ISO 4217货币代码。
这相当于打电话getSymbol(Locale.getDefault(Locale.Category.DISPLAY))
。
DISPLAY
区域设置
public String getSymbol(Locale locale)
locale
- 需要此货币的显示名称的区域设置
NullPointerException
- 如果
locale
为空
public int getDefaultFractionDigits()
public int getNumericCode()
public String getDisplayName()
DISPLAY
区域设置显示此货币的名称。
如果找不到适用于默认语言环境的显示名称,则返回ISO 4217货币代码。
这相当于呼叫getDisplayName(Locale.getDefault(Locale.Category.DISPLAY))
。
DISPLAY
区域设置
public String getDisplayName(Locale locale)
locale
- 需要此货币显示名称的区域设置
NullPointerException
- 如果
locale
为空