- java.lang.Object
-
- java.util.Currency
-
- All Implemented Interfaces:
- Serializable
public final class Currency extends Object implements Serializable
Represents a currency. Currencies are identified by their ISO 4217 currency codes. Visit the ISO web site for more information, including a table of currency codes.The class is designed so that there's never more than one
Currency
instance for any given currency. Therefore, there's no public constructor. You obtain aCurrency
instance using thegetInstance
methods.Users can supersede the Java runtime currency data by creating a properties file named
<JAVA_HOME>/lib/currency.properties
. The contents of the properties file are key/value pairs of the ISO 3166 country codes and the ISO 4217 currency data respectively. The value part consists of three ISO 4217 values of a currency, i.e., an alphabetic code, a numeric code, and a minor unit. Those three ISO 4217 values are separated by commas. The lines which start with '#'s are considered comment lines. For example,#Sample currency properties
JP=JPZ,999,0will supersede the currency data for Japan.
- Since:
- 1.4
- See Also:
- Serialized Form
-
-
Method Summary
Methods Modifier and Type Method and Description static Set<Currency>
getAvailableCurrencies()
Gets the set of available currencies.String
getCurrencyCode()
Gets the ISO 4217 currency code of this currency.int
getDefaultFractionDigits()
Gets the default number of fraction digits used with this currency.String
getDisplayName()
Gets the name that is suitable for displaying this currency for the default locale.String
getDisplayName(Locale locale)
Gets the name that is suitable for displaying this currency for the specified locale.static Currency
getInstance(Locale locale)
Returns theCurrency
instance for the country of the given locale.static Currency
getInstance(String currencyCode)
Returns theCurrency
instance for the given currency code.int
getNumericCode()
Returns the ISO 4217 numeric code of this currency.String
getSymbol()
Gets the symbol of this currency for the default locale.String
getSymbol(Locale locale)
Gets the symbol of this currency for the specified locale.String
toString()
Returns the ISO 4217 currency code of this currency.
-
-
-
Method Detail
-
getInstance
public static Currency getInstance(String currencyCode)
Returns theCurrency
instance for the given currency code.- Parameters:
currencyCode
- the ISO 4217 code of the currency- Returns:
- the
Currency
instance for the given currency code - Throws:
NullPointerException
- ifcurrencyCode
is nullIllegalArgumentException
- ifcurrencyCode
is not a supported ISO 4217 code.
-
getInstance
public static Currency getInstance(Locale locale)
Returns theCurrency
instance for the country of the given locale. The language and variant components of the locale are ignored. The result may vary over time, as countries change their currencies. For example, for the original member countries of the European Monetary Union, the method returns the old national currencies until December 31, 2001, and the Euro from January 1, 2002, local time of the respective countries.The method returns
null
for territories that don't have a currency, such as Antarctica.- Parameters:
locale
- the locale for whose country aCurrency
instance is needed- Returns:
- the
Currency
instance for the country of the given locale, or null - Throws:
NullPointerException
- iflocale
or its country code is nullIllegalArgumentException
- if the country of the given locale is not a supported ISO 3166 country code.
-
getAvailableCurrencies
public static Set<Currency> getAvailableCurrencies()
Gets the set of available currencies. The returned set of currencies contains all of the available currencies, which may include currencies that represent obsolete ISO 4217 codes. The set can be modified without affecting the available currencies in the runtime.- Returns:
- the set of available currencies. If there is no currency available in the runtime, the returned set is empty.
- Since:
- 1.7
-
getCurrencyCode
public String getCurrencyCode()
Gets the ISO 4217 currency code of this currency.- Returns:
- the ISO 4217 currency code of this currency.
-
getSymbol
public String getSymbol()
Gets the symbol of this currency for the default locale. For example, for the US Dollar, the symbol is "$" if the default locale is the US, while for other locales it may be "US$". If no symbol can be determined, the ISO 4217 currency code is returned.- Returns:
- the symbol of this currency for the default locale
-
getSymbol
public String getSymbol(Locale locale)
Gets the symbol of this currency for the specified locale. For example, for the US Dollar, the symbol is "$" if the specified locale is the US, while for other locales it may be "US$". If no symbol can be determined, the ISO 4217 currency code is returned.- Parameters:
locale
- the locale for which a display name for this currency is needed- Returns:
- the symbol of this currency for the specified locale
- Throws:
NullPointerException
- iflocale
is null
-
getDefaultFractionDigits
public int getDefaultFractionDigits()
Gets the default number of fraction digits used with this currency. For example, the default number of fraction digits for the Euro is 2, while for the Japanese Yen it's 0. In the case of pseudo-currencies, such as IMF Special Drawing Rights, -1 is returned.- Returns:
- the default number of fraction digits used with this currency
-
getNumericCode
public int getNumericCode()
Returns the ISO 4217 numeric code of this currency.- Returns:
- the ISO 4217 numeric code of this currency
- Since:
- 1.7
-
getDisplayName
public String getDisplayName()
Gets the name that is suitable for displaying this currency for the default locale. If there is no suitable display name found for the default locale, the ISO 4217 currency code is returned.- Returns:
- the display name of this currency for the default locale
- Since:
- 1.7
-
getDisplayName
public String getDisplayName(Locale locale)
Gets the name that is suitable for displaying this currency for the specified locale. If there is no suitable display name found for the specified locale, the ISO 4217 currency code is returned.- Parameters:
locale
- the locale for which a display name for this currency is needed- Returns:
- the display name of this currency for the specified locale
- Throws:
NullPointerException
- iflocale
is null- Since:
- 1.7
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/util/currency.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.