Currency

public final class Currency extends Object
implements Serializable

A currency corresponding to an ISO 4217 currency code such as "EUR" or "USD".

Public Method Summary

static Set<Currency>
getAvailableCurrencies()
Returns a set of all known currencies.
String
getCurrencyCode()
Returns this currency's ISO 4217 currency code.
int
getDefaultFractionDigits()
Returns the default number of fraction digits for this currency.
String
getDisplayName()
Equivalent to getDisplayName(Locale.getDefault()).
String
getDisplayName(Locale locale)
Returns the localized name of this currency in the given locale.
static Currency
getInstance(String currencyCode)
Returns the Currency instance for the given ISO 4217 currency code.
static Currency
getInstance(Locale locale)
Returns the Currency instance for this Locale's country.
int
getNumericCode()
Returns the ISO 4217 numeric code of this currency.
String
getSymbol(Locale locale)
Returns the localized currency symbol for this currency in locale.
String
getSymbol()
Equivalent to getSymbol(Locale.getDefault()).
String
toString()
Returns this currency's ISO 4217 currency code.

Inherited Method Summary

Public Methods

public static Set<Currency> getAvailableCurrencies ()

Returns a set of all known currencies.

public String getCurrencyCode ()

Returns this currency's ISO 4217 currency code.

public int getDefaultFractionDigits ()

Returns the default number of fraction digits for this currency. For instance, the default number of fraction digits for the US dollar is 2 because there are 100 US cents in a US dollar. For the Japanese Yen, the number is 0 because coins smaller than 1 Yen became invalid in 1953. In the case of pseudo-currencies, such as IMF Special Drawing Rights, -1 is returned.

public String getDisplayName ()

Equivalent to getDisplayName(Locale.getDefault()). See "Be wary of the default locale".

public String getDisplayName (Locale locale)

Returns the localized name of this currency in the given locale. Returns the ISO 4217 currency code if no localized name is available.

Parameters
locale

public static Currency getInstance (String currencyCode)

Returns the Currency instance for the given ISO 4217 currency code.

Parameters
currencyCode
Throws
IllegalArgumentException if the currency code is not a supported ISO 4217 currency code.

public static Currency getInstance (Locale locale)

Returns the Currency instance for this Locale's country.

Parameters
locale
Throws
IllegalArgumentException if the locale's country is not a supported ISO 3166 country.

public int getNumericCode ()

Returns the ISO 4217 numeric code of this currency.

Returns
  • the ISO 4217 numeric code of this currency

public String getSymbol (Locale locale)

Returns the localized currency symbol for this currency in locale. That is, given "USD" and Locale.US, you'd get "$", but given "USD" and a non-US locale, you'd get "US$".

If the locale only specifies a language rather than a language and a country (such as Locale.JAPANESE or {new Locale("en", "")} rather than Locale.JAPAN or {new Locale("en", "US")}), the ISO 4217 currency code is returned.

If there is no locale-specific currency symbol, the ISO 4217 currency code is returned.

Parameters
locale

public String getSymbol ()

Equivalent to getSymbol(Locale.getDefault()). See "Be wary of the default locale".

public String toString ()

Returns this currency's ISO 4217 currency code.

Returns
  • a printable representation of this object.