阅读(3446) (0)

鸿蒙OS Currency

2022-06-16 16:22:05 更新

Currency

java.lang.Object

|---java.util.Currency

public final class Currency
extends Object
implements Serializable

代表一种货币。 货币由其 ISO 4217 货币代码标识。

该类的设计使得任何给定货币的 Currency 实例都不会超过一个。 因此,没有公共构造函数。 您可以使用 getInstance 方法获取 Currency 实例。

用户可以通过系统属性 java.util.currency.data 取代 Java 运行时货币数据。如果定义了此系统属性,则其值为属性文件的位置,其内容分别是 ISO 3166 国家代码和 ISO 4217 货币数据的键/值对。价值部分由货币的三个 ISO 4217 值组成,即字母代码、数字代码和次要单位。这三个 ISO 4217 值用逗号分隔。以'#' 开头的行被视为注释行。如果用户需要指定一个转换日期来指示新数据何时生效,则可以为每个货币条目指定一个可选的 UTC 时间戳。时间戳附加到货币属性的末尾,并使用逗号作为分隔符。如果 UTC 日期戳存在且有效,则 JRE 将仅在当前 UTC 日期晚于类加载时指定的日期时使用新的货币属性。时间戳的格式必须是 ISO 8601 格式:'yyyy-MM-dd'T'HH:mm:ss'。例如,

示例货币属性 JP=JPZ,999,0

将取代日本的货币数据。

转换日期JP=JPZ,999,0,2014-01-01T00:00:00 的示例货币属性

如果在 2014 年 1 月 1 日 00:00:00 GMT 之后加载 Currency 类,将取代日本的货币数据。

如果遇到语法格式错误的条目,则忽略该条目并处理文件中的其余条目。 对于存在重复国家代码条目的情况,该货币的货币信息的行为是未定义的,并且文件中的其余条目将被处理。

方法总结

修饰符和类型 方法 描述
static SetCurrency getAvailableCurrencies() 获取可用货币的集合。
String getCurrencyCode() 获取此货币的 ISO 4217 货币代码。
int getDefaultFractionDigits() 获取与此货币一起使用的默认小数位数。
String getDisplayName() 获取适合在默认 Locale.Category#DISPLAY 语言环境中显示此货币的名称。
String getDisplayName(Locale locale) 获取适合在指定区域显示此货币的名称。
static Currency getInstance(String currencyCode) 返回给定货币代码的 Currency 实例。
static Currency getInstance(Locale locale) 返回给定语言环境所在国家/地区的 Currency 实例。
int getNumericCode() 返回此货币的 ISO 4217 数字代码。
String getSymbol() 获取默认 Locale.Category#DISPLAY 语言环境的该货币的符号。
String getSymbol(Locale locale) 获取指定区域设置的此货币的符号。
String toString() 返回此货币的 ISO 4217 货币代码。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

方法详情

getInstance

public static Currency getInstance(String currencyCode)

返回给定货币代码的 Currency 实例。

参数:

参数名称 参数描述
currencyCode 货币的 ISO 4217 代码

返回:

给定货币代码的 Currency 实例

Throws:

Throw名称 Throw描述
NullPointerException 如果currencyCode 为空
IllegalArgumentException 如果 currencyCode 不是受支持的 ISO 4217 代码。

getInstance

public static Currency getInstance(Locale locale)

返回给定语言环境所在国家/地区的 Currency 实例。 语言环境的语言和变体组件被忽略。 随着各国货币的变化,结果可能会随时间而变化。 例如,对于欧洲货币联盟的原始成员国,该方法返回截至2001年12月31日的旧国家货币,以及从各自国家当地时间2002年1月1日开始的欧元。

对于没有货币的地区,例如南极洲,该方法返回 null。

参数:

参数名称 参数描述
locale 需要货币实例的国家/地区的语言环境

返回:

给定语言环境的国家/地区的 Currency 实例,或 null

Throws:

Throw名称 Throw描述
NullPointerException 如果语言环境或其国家代码为空
IllegalArgumentException 如果给定区域设置的国家/地区不是受支持的 ISO 3166 国家/地区代码。

getAvailableCurrencies

public static SetCurrency getAvailableCurrencies()

获取可用货币的集合。 返回的货币集包含所有可用货币,其中可能包括表示过时 ISO 4217 代码的货币。 可以修改该集合而不影响运行时中的可用货币。

返回:

可用货币的集合。 如果运行时中没有可用的货币,则返回的集合为空。

getCurrencyCode

public String getCurrencyCode()

获取此货币的 ISO 4217 货币代码。

返回:

此货币的 ISO 4217 货币代码。

getSymbol

public String getSymbol()

获取默认 Locale.Category#DISPLAY 语言环境的该货币的符号。 例如,对于美元,如果默认语言环境是美国,则符号是“$”,而对于其他语言环境,它可能是“US$”。 如果无法确定符号,则返回 ISO 4217 货币代码。

这相当于调用 getSymbol(Locale.getDefault(Locale.Category.DISPLAY))。

返回:

默认 Locale.Category#DISPLAY 语言环境的该货币的符号

getSymbol

public String getSymbol(Locale locale)

获取指定区域设置的此货币的符号。 例如,对于美元,如果指定的语言环境是美国,则符号是“$”,而对于其他语言环境,它可能是“US$”。 如果无法确定符号,则返回 ISO 4217 货币代码。

参数:

参数名称 参数描述
locale 需要此货币的显示名称的语言环境

返回:

指定语言环境的该货币符号

Throws:

Throw名称 Throw描述
NullPointerException 如果语言环境为空

getDefaultFractionDigits

public int getDefaultFractionDigits()

获取与此货币一起使用的默认小数位数。 例如,欧元的默认小数位数为 2,而日元的默认位数为 0。对于伪货币(如 IMF 特别提款权),返回 -1。

返回:

此货币使用的默认小数位数

getNumericCode

public int getNumericCode()

返回此货币的 ISO 4217 数字代码。

返回:

该货币的 ISO 4217 数字代码

getDisplayName

public String getDisplayName()

获取适合在默认 Locale.Category#DISPLAY 语言环境中显示此货币的名称。 如果没有为默认语言环境找到合适的显示名称,则返回 ISO 4217 货币代码。

这相当于调用 getDisplayName(Locale.getDefault(Locale.Category.DISPLAY))。

返回:

默认 Locale.Category#DISPLAY 语言环境的此货币的显示名称

getDisplayName

public String getDisplayName(Locale locale)

获取适合在指定区域显示此货币的名称。 如果没有为指定区域找到合适的显示名称,则返回 ISO 4217 货币代码。

参数:

参数名称 参数描述
locale 需要此货币的显示名称的语言环境

返回:

指定区域设置的此货币的显示名称

Throws:

Throw名称 Throw描述
NullPointerException 如果语言环境为空

toString

public String toString()

返回此货币的 ISO 4217 货币代码。

覆盖:

类 Object 中的 toString

返回:

此货币的 ISO 4217 货币代码