Most visited

Recently visited

Added in API level 1

Currency

public final class Currency
extends Object implements Serializable

java.lang.Object
   ↳ java.util.Currency


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 a Currency instance using the getInstance 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,0

will supersede the currency data for Japan.

Summary

Public methods

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(String currencyCode)

Returns the Currency instance for the given currency code.

static Currency getInstance(Locale locale)

Returns the Currency instance for the country of the given locale.

int getNumericCode()

Returns the ISO 4217 numeric code of this currency.

String getSymbol(Locale locale)

Gets the symbol of this currency for the specified locale.

String getSymbol()

Gets the symbol of this currency for the default locale.

String toString()

Returns the ISO 4217 currency code of this currency.

Inherited methods

From class java.lang.Object

Public methods

getAvailableCurrencies

Added in API level 19
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
Set<Currency> the set of available currencies. If there is no currency available in the runtime, the returned set is empty.

getCurrencyCode

Added in API level 1
String getCurrencyCode ()

Gets the ISO 4217 currency code of this currency.

Returns
String the ISO 4217 currency code of this currency.

getDefaultFractionDigits

Added in API level 1
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
int the default number of fraction digits used with this currency

getDisplayName

Added in API level 19
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
String the display name of this currency for the default locale

getDisplayName

Added in API level 19
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 Locale: the locale for which a display name for this currency is needed
Returns
String the display name of this currency for the specified locale
Throws
NullPointerException if locale is null

getInstance

Added in API level 1
Currency getInstance (String currencyCode)

Returns the Currency instance for the given currency code.

Parameters
currencyCode String: the ISO 4217 code of the currency
Returns
Currency the Currency instance for the given currency code
Throws
NullPointerException if currencyCode is null
IllegalArgumentException if currencyCode is not a supported ISO 4217 code.

getInstance

Added in API level 1
Currency getInstance (Locale locale)

Returns the Currency 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 Locale: the locale for whose country a Currency instance is needed
Returns
Currency the Currency instance for the country of the given locale, or null
Throws
NullPointerException if locale or its country code is null
IllegalArgumentException if the country of the given locale is not a supported ISO 3166 country code.

getNumericCode

Added in API level 24
int getNumericCode ()

Returns the ISO 4217 numeric code of this currency.

Returns
int the ISO 4217 numeric code of this currency

getSymbol

Added in API level 1
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 Locale: the locale for which a display name for this currency is needed
Returns
String the symbol of this currency for the specified locale
Throws
NullPointerException if locale is null

getSymbol

Added in API level 1
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
String the symbol of this currency for the default locale

toString

Added in API level 1
String toString ()

Returns the ISO 4217 currency code of this currency.

Returns
String the ISO 4217 currency code of this currency

Hooray!