- java.lang.Object
-
- java.util.Currency
-
- All Implemented Interfaces:
-
Serializable
public final class Currency extends Object implements Serializable
代表货币。 货币由其ISO 4217货币代码确定。 请访问ISO web site了解更多信息。该课程的设计使得任何给定货币都不会有多个
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如果在2014年1月1日以后载入
Currency
班,Currency
GMT,将取代日本的货币数据。在遇到语法错误的条目时,将忽略该条目,并处理文件中其余的条目。 对于存在重复的国家/地区代码条目的情况,该
Currency
的货币信息的行为是未定义的,并且处理文件中的其余条目。建议使用
BigDecimal
课程,同时处理Currency
或货币价值,因为它可以更好地处理浮点数及其操作。- 从以下版本开始:
- 1.4
- 另请参见:
-
BigDecimal
, Serialized Form
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 static Set<Currency>
getAvailableCurrencies()
获得一组可用的货币。String
getCurrencyCode()
获得此货币的ISO 4217货币代码。int
getDefaultFractionDigits()
获取与该货币一起使用的默认小数位数。String
getDisplayName()
获取适用于默认DISPLAY
区域设置显示此货币的名称。String
getDisplayName(Locale locale)
获取适用于显示指定区域设置的货币的名称。static Currency
getInstance(String currencyCode)
返回给定货币代码的Currency
实例。static Currency
getInstance(Locale locale)
返回给定区域的国家/地区的Currency
实例。int
getNumericCode()
返回此货币的ISO 4217数字代码。String
getNumericCodeAsString()
返回此货币的3位数字ISO 4217数字代码,为String
。String
getSymbol()
获取默认的DISPLAY
区域设置的此货币的符号。String
getSymbol(Locale locale)
获取指定区域设置的货币符号。String
toString()
返回此货币的ISO 4217货币代码。
-
-
-
方法详细信息
-
getInstance
public static Currency getInstance(String currencyCode)
返回给定货币代码的Currency
实例。- 参数
-
currencyCode
- 货币的ISO 4217代码 - 结果
-
给定货币代码的
Currency
实例 - 异常
-
NullPointerException
- 如果currencyCode
为空 -
IllegalArgumentException
- 如果currencyCode
不是支持的ISO 4217代码。
-
getInstance
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国家代码。
-
getAvailableCurrencies
public static Set<Currency> getAvailableCurrencies()
获得一组可用的货币。 返回的一组货币包含所有可用的货币,可能包括代表过时的ISO 4217代码的货币。 可以修改该集合,而不影响运行时间中的可用货币。- 结果
- 一套可用货币。 如果运行时没有货币可用,则返回的集合为空。
- 从以下版本开始:
- 1.7
-
getCurrencyCode
public String getCurrencyCode()
获得此货币的ISO 4217货币代码。- 结果
- 该货币的ISO 4217货币代码。
-
getSymbol
public String getSymbol()
获取默认的DISPLAY
区域设置的货币符号。 例如,对于美元,如果默认语言环境是美国,则符号为“$”,而对于其他语言环境则可能为“US $”。 如果不能确定符号,则返回ISO 4217货币代码。这相当于调用
getSymbol(Locale.getDefault(Locale.Category.DISPLAY))
。- 结果
-
该货币的符号默认为
DISPLAY
区域设置
-
getSymbol
public String getSymbol(Locale locale)
获取指定区域设置的货币符号。 例如,对于美元,如果指定的区域设置为美国,则符号为“$”,而对于其他区域设置,则可能为“US $”。 如果不能确定符号,则返回ISO 4217货币代码。- 参数
-
locale
- 需要此货币显示名称的区域设置 - 结果
- 指定地区的货币符号
- 异常
-
NullPointerException
- 如果locale
为空
-
getDefaultFractionDigits
public int getDefaultFractionDigits()
获取与该货币一起使用的默认小数位数。 请注意,小数位数与货币的ISO 4217的次要单位相同。 例如,欧元的小数位数的默认数字是2,而对日元则是0。对于伪货币,如IMF特别提款权,返回-1。- 结果
- 与该货币一起使用的默认分数数字
-
getNumericCode
public int getNumericCode()
返回此货币的ISO 4217数字代码。- 结果
- 该货币的ISO 4217数字代码
- 从以下版本开始:
- 1.7
-
getNumericCodeAsString
public String getNumericCodeAsString()
以String
返回此货币的3位数字ISO 4217数字代码。 与getNumericCode()
不同,它将数字代码返回为int
,该方法总是返回数字代码作为3位数字。 例如,数值32将被返回为“032”,数值为6将返回为“006”。- 结果
-
该货币的3位数字ISO 4217数字代码为
String
- 从以下版本开始:
- 9
-
getDisplayName
public String getDisplayName()
获取适用于默认DISPLAY
区域设置显示此货币的名称。 如果找不到适用于默认语言环境的显示名称,则返回ISO 4217货币代码。这相当于调用
getDisplayName(Locale.getDefault(Locale.Category.DISPLAY))
。- 结果
-
该货币的显示名称为默认的
DISPLAY
区域设置 - 从以下版本开始:
- 1.7
-
getDisplayName
public String getDisplayName(Locale locale)
获取适用于显示指定区域设置的货币的名称。 如果找不到指定区域设置的合适的显示名称,则返回ISO 4217货币代码。- 参数
-
locale
- 需要为此货币显示名称的区域设置 - 结果
- 指定区域设置的此货币的显示名称
- 异常
-
NullPointerException
- 如果locale
为空 - 从以下版本开始:
- 1.7
-
-