java.util

Class Currency

Implemented Interfaces:
Serializable

public final class Currency
extends Object
implements Serializable

Representation of a currency for a particular locale. Each currency is identified by its ISO 4217 code, and only one instance of this class exists per currency. As a result, instances are created via the getInstance() methods rather than by using a constructor.
Since:
1.4
See Also:
Locale, Serialized Form

Method Summary

String
getCurrencyCode()
Returns the ISO4217 currency code of this currency.
int
getDefaultFractionDigits()
Returns the number of digits which occur after the decimal point for this particular currency.
static Currency
getInstance(String currencyCode)
Builds the currency corresponding to the specified currency code.
static Currency
getInstance(Locale locale)
Builds a new currency instance for this locale.
String
getSymbol()
This method returns the symbol which precedes or follows a value in this particular currency in the default locale.
String
getSymbol(Locale locale)
This method returns the symbol which precedes or follows a value in this particular currency.
String
toString()
Returns the international ISO4217 currency code of this currency.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

getCurrencyCode

public String getCurrencyCode()
Returns the ISO4217 currency code of this currency.
Returns:
a String containing currency code.

getDefaultFractionDigits

public int getDefaultFractionDigits()
Returns the number of digits which occur after the decimal point for this particular currency. For example, currencies such as the U.S. dollar, the Euro and the Great British pound have two digits following the decimal point to indicate the value which exists in the associated lower-valued coinage (cents in the case of the first two, pennies in the latter). Some currencies such as the Japanese Yen have no digits after the decimal point. In the case of pseudo currencies, such as IMF Special Drawing Rights, -1 is returned.
Returns:
the number of digits after the decimal separator for this currency.

getInstance

public static Currency getInstance(String currencyCode)
Builds the currency corresponding to the specified currency code.
Parameters:
currencyCode - a string representing a currency code.
Returns:
a new Currency instance.
Throws:
NullPointerException - if currencyCode is null.
IllegalArgumentException - if the supplied currency code is not a supported ISO 4217 code.

getInstance

public static Currency getInstance(Locale locale)
Builds a new currency instance for this locale. All components of the given locale, other than the country code, are ignored. The results of calling this method may vary over time, as the currency associated with a particular country changes. For countries without a given currency (e.g. Antarctica), the result is null.
Parameters:
locale - a Locale instance.
Returns:
a new Currency instance.
Throws:
NullPointerException - if the locale or its country code is null.
IllegalArgumentException - if the country of the given locale is not a supported ISO3166 code.

getSymbol

public String getSymbol()
This method returns the symbol which precedes or follows a value in this particular currency in the default locale. In cases where there is no such symbol for the currency, the ISO 4217 currency code is returned.
Returns:
the currency symbol, or the ISO 4217 currency code if one doesn't exist.

getSymbol

public String getSymbol(Locale locale)
This method returns the symbol which precedes or follows a value in this particular currency. The returned value is the symbol used to denote the currency in the specified locale.

For example, a supplied locale may specify a different symbol for the currency, due to conflicts with its own currency. This would be the case with the American currency, the dollar. Locales that also use a dollar-based currency (e.g. Canada, Australia) need to differentiate the American dollar using 'US$' rather than '$'. So, supplying one of these locales to getSymbol() would return this value, rather than the standard '$'.

In cases where there is no such symbol for a particular currency, the ISO 4217 currency code is returned.

Parameters:
locale - the locale to express the symbol in.
Returns:
the currency symbol, or the ISO 4217 currency code if one doesn't exist.
Throws:
NullPointerException - if the locale is null.

toString

public String toString()
Returns the international ISO4217 currency code of this currency.
Overrides:
toString in interface Object
Returns:
a String containing the ISO4217 currency code.

Currency.java -- Representation of a currency Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.