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.
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.
It is recommended to use BigDecimal
class while dealing
with Currency
or monetary values as it provides better handling of floating
point numbers and their operations.
See also:
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 |
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 |
static
Currency
|
getInstance(Locale locale)
Returns the |
int
|
getNumericCode()
Returns the ISO 4217 numeric code of this currency. |
String
|
getNumericCodeAsString()
Returns the 3 digit ISO 4217 numeric code of this currency as a |
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
|
String
|
toString()
Returns the ISO 4217 currency code of this currency. |
Inherited methods | |
---|---|
Public methods
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 | |
---|---|
Set<Currency> |
the set of available currencies. If there is no currency available in the runtime, the returned set is empty. |
getCurrencyCode
public String getCurrencyCode ()
Gets the ISO 4217 currency code of this currency.
Returns | |
---|---|
String |
the ISO 4217 currency code of this currency. |
getDefaultFractionDigits
public int getDefaultFractionDigits ()
Gets the default number of fraction digits used with this currency. Note that the number of fraction digits is the same as ISO 4217's minor unit for the 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
public String getDisplayName ()
Gets the name that is suitable for displaying this currency for
the default DISPLAY
locale.
If there is no suitable display name found
for the default locale, the ISO 4217 currency code is returned.
This is equivalent to calling
getDisplayName(Locale.getDefault(Locale.Category.DISPLAY))
.
Returns | |
---|---|
String |
the display name of this currency for the default
DISPLAY locale |
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 |
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
public static 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
public static 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.
If the specified locale
contains "cu"
Unicode extensions,
the instance returned from this method reflects
the values specified with those extensions.
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
is null |
IllegalArgumentException |
if the country of the given locale
is not a supported ISO 3166 country code. |
getNumericCode
public int getNumericCode ()
Returns the ISO 4217 numeric code of this currency.
Returns | |
---|---|
int |
the ISO 4217 numeric code of this currency |
getNumericCodeAsString
public String getNumericCodeAsString ()
Returns the 3 digit ISO 4217 numeric code of this currency as a String
.
Unlike getNumericCode()
, which returns the numeric code as int
,
this method always returns the numeric code as a 3 digit string.
e.g. a numeric value of 32 would be returned as "032",
and a numeric value of 6 would be returned as "006".
Returns | |
---|---|
String |
the 3 digit ISO 4217 numeric code of this currency as a String |
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 |
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
public String getSymbol ()
Gets the symbol of this currency for the default
DISPLAY
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.
This is equivalent to calling
getSymbol(Locale.getDefault(Locale.Category.DISPLAY))
.
Returns | |
---|---|
String |
the symbol of this currency for the default
DISPLAY locale |
toString
public String toString ()
Returns the ISO 4217 currency code of this currency.
Returns | |
---|---|
String |
the ISO 4217 currency code of this currency |