com.ibm.icu.util
Class Currency
- Serializable
public class Currency
implements Serializable
A class encapsulating a currency, as defined by ISO 4217. A
Currency object can be created given a
Locale or
given an ISO 4217 code. Once created, the
Currency object
can return various data necessary to its proper display:
- A display symbol, for a specific locale
- The number of fraction digits to display
- A rounding increment
The
DecimalFormat class uses these data to display
currencies.
Note: This class deliberately resembles
java.util.Currency but it has a completely independent
implementation, and adds features not present in the JDK.
static int | LONG_NAME - Selector for ucurr_getName indicating the long name for a
currency, such as "US Dollar" for USD.
|
static int | SYMBOL_NAME - Selector for getName() indicating a symbolic name for a
currency, such as "$" for USD.
|
Currency(String theISOCode) - Constructs a currency object for the given ISO 4217 3-letter
code.
|
boolean | equals(Object rhs) - Return true if rhs is a Currency instance,
is non-null, and has the same currency code.
|
static Locale[] | getAvailableLocales() - Return an array of the locales for which a currency
is defined.
|
static ULocale[] | getAvailableULocales() - Return an array of the ulocales for which a currency
is defined.
|
String | getCurrencyCode() - Returns the ISO 4217 3-letter code for this currency object.
|
int | getDefaultFractionDigits() - Returns the number of the number of fraction digits that should
be displayed for this currency.
|
static Currency | getInstance(Locale locale) - Returns a currency object for the default currency in the given
locale.
|
static Currency | getInstance(String theISOCode) - Returns a currency object given an ISO 4217 3-letter code.
|
static Currency | getInstance(ULocale locale) - Returns a currency object for the default currency in the given
locale.
|
ULocale | getLocale(ULocale.Type type) - Return the locale that was used to create this object, or null.
|
String | getName(Locale locale, int nameStyle, boolean[] isChoiceFormat) - Returns the display name for the given currency in the
given locale.
|
String | getName(ULocale locale, int nameStyle, boolean[] isChoiceFormat) - Returns the display name for the given currency in the
given locale.
|
double | getRoundingIncrement() - Returns the rounding increment for this currency, or 0.0 if no
rounding is done by this currency.
|
String | getSymbol() - Convenience and compatibility override of getName that
requests the symbol name.
|
String | getSymbol(Locale loc) - Convenience and compatibility override of getName that
requests the symbol name.
|
String | getSymbol(ULocale uloc) - Convenience and compatibility override of getName that
requests the symbol name.
|
int | hashCode() - Return a hashcode for this currency.
|
static String | parse(ULocale locale, String text, ParsePosition pos) - Attempt to parse the given string as a currency, either as a
display name in the given locale, or as a 3-letter ISO 4217
code.
|
static Object | registerInstance(Currency currency, ULocale locale) - Registers a new currency for the provided locale.
|
String | toString() - Returns the ISO 4217 code for this currency.
|
static boolean | unregister(Object registryKey) - Unregister the currency associated with this key (obtained from
registerInstance).
|
LONG_NAME
public static final int LONG_NAME
Selector for ucurr_getName indicating the long name for a
currency, such as "US Dollar" for USD.
SYMBOL_NAME
public static final int SYMBOL_NAME
Selector for getName() indicating a symbolic name for a
currency, such as "$" for USD.
Currency
protected Currency(String theISOCode)
Constructs a currency object for the given ISO 4217 3-letter
code. This constructor assumes that the code is valid.
theISOCode
- The iso code used to construct the currency.
equals
public boolean equals(Object rhs)
Return true if rhs is a Currency instance,
is non-null, and has the same currency code.
getAvailableLocales
public static Locale[] getAvailableLocales()
Return an array of the locales for which a currency
is defined.
- an array of the available locales
getAvailableULocales
public static ULocale[] getAvailableULocales()
Return an array of the ulocales for which a currency
is defined.
- an array of the available ulocales
getCurrencyCode
public String getCurrencyCode()
Returns the ISO 4217 3-letter code for this currency object.
getDefaultFractionDigits
public int getDefaultFractionDigits()
Returns the number of the number of fraction digits that should
be displayed for this currency.
- a non-negative number of fraction digits to be
displayed
getInstance
public static Currency getInstance(Locale locale)
Returns a currency object for the default currency in the given
locale.
- the currency object for this locale
getInstance
public static Currency getInstance(String theISOCode)
Returns a currency object given an ISO 4217 3-letter code.
theISOCode
- the iso code
- the currency for this iso code
getInstance
public static Currency getInstance(ULocale locale)
Returns a currency object for the default currency in the given
locale.
getLocale
public final ULocale getLocale(ULocale.Type type)
Return the locale that was used to create this object, or null.
This may may differ from the locale requested at the time of
this object's creation. For example, if an object is created
for locale
en_US_CALIFORNIA, the actual data may be
drawn from
en (the
actual locale), and
en_US may be the most specific locale that exists (the
valid locale).
Note: This method will be obsoleted. The implementation is
no longer locale-specific and so there is no longer a valid or
actual locale associated with the Currency object. Until
it is removed, this method will return the root locale.
- the information specified by type, or null if
this object was not constructed from locale data.
getName
public String getName(Locale locale,
int nameStyle,
boolean[] isChoiceFormat)
Returns the display name for the given currency in the
given locale. For example, the display name for the USD
currency object in the en_US locale is "$".
locale
- locale in which to display currencynameStyle
- selector for which kind of name to returnisChoiceFormat
- fill-in; isChoiceFormat[0] is set to true
if the returned value is a ChoiceFormat pattern; otherwise it
is set to false
- display string for this currency. If the resource data
contains no entry for this currency, then the ISO 4217 code is
returned. If isChoiceFormat[0] is true, then the result is a
ChoiceFormat pattern. Otherwise it is a static string.
getName
public String getName(ULocale locale,
int nameStyle,
boolean[] isChoiceFormat)
Returns the display name for the given currency in the
given locale. For example, the display name for the USD
currency object in the en_US locale is "$".
locale
- locale in which to display currencynameStyle
- selector for which kind of name to returnisChoiceFormat
- fill-in; isChoiceFormat[0] is set to true
if the returned value is a ChoiceFormat pattern; otherwise it
is set to false
- display string for this currency. If the resource data
contains no entry for this currency, then the ISO 4217 code is
returned. If isChoiceFormat[0] is true, then the result is a
ChoiceFormat pattern. Otherwise it is a static string.
getRoundingIncrement
public double getRoundingIncrement()
Returns the rounding increment for this currency, or 0.0 if no
rounding is done by this currency.
- the non-negative rounding increment, or 0.0 if none
getSymbol
public String getSymbol()
Convenience and compatibility override of getName that
requests the symbol name.
getSymbol
public String getSymbol(Locale loc)
Convenience and compatibility override of getName that
requests the symbol name.
loc
- the Locale for the symbol
getSymbol
public String getSymbol(ULocale uloc)
Convenience and compatibility override of getName that
requests the symbol name.
uloc
- the ULocale for the symbol
hashCode
public int hashCode()
Return a hashcode for this currency.
parse
public static String parse(ULocale locale,
String text,
ParsePosition pos)
Attempt to parse the given string as a currency, either as a
display name in the given locale, or as a 3-letter ISO 4217
code. If multiple display names match, then the longest one is
selected. If both a display name and a 3-letter ISO code
match, then the display name is preferred, unless it's length
is less than 3.
locale
- the locale of the display names to matchtext
- the text to parsepos
- input-output position; on input, the position within
text to match; must have 0 <= pos.getIndex() <32text.length();
on output, the position after the last matched character. If
the parse fails, the position in unchanged upon output.
- the ISO 4217 code, as a string, of the best match, or
null if there is no match
registerInstance
public static Object registerInstance(Currency currency,
ULocale locale)
Registers a new currency for the provided locale. The returned object
is a key that can be used to unregister this currency object.
currency
- the currency to registerlocale
- the ulocale under which to register the currency
- a registry key that can be used to unregister this currency
toString
public String toString()
Returns the ISO 4217 code for this currency.
unregister
public static boolean unregister(Object registryKey)
Unregister the currency associated with this key (obtained from
registerInstance).
registryKey
- the registry key returned from registerInstance
Copyright (c) 2006 IBM Corporation and others.