Java™ Platform
Standard Ed. 6

java.util
Class Currency

java.lang.Object
  extended by 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 BSi 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.

Since:
1.4
See Also:
Serialized Form

Method Summary
 String getCurrencyCode()
          Gets the ISO 4217 currency code of this currency.
 int getDefaultFractionDigits()
          Gets the default number of fraction digits used with this currency.
static Currency getInstance(Locale locale)
          Returns the Currency instance for the country of the given locale.
static Currency getInstance(String currencyCode)
          Returns the Currency instance for the given currency code.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstance

public static Currency getInstance(String currencyCode)
Returns the Currency 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 - 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.

The method returns null for territories that don't have a currency, such as Antarctica.

Parameters:
locale - the locale for whose country a Currency instance is needed
Returns:
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.

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 - if locale 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

toString

public String toString()
Returns the ISO 4217 currency code of this currency.

Overrides:
toString in class Object
Returns:
the ISO 4217 currency code of this currency

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.