com.ibm.icu.text
Class DecimalFormatSymbols

java.lang.Object
  extended by com.ibm.icu.text.DecimalFormatSymbols
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class DecimalFormatSymbols
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

[icu enhancement] ICU's replacement for java.text.DecimalFormatSymbols. Methods, fields, and other functionality specific to ICU are labeled '[icu]'.

This class represents the set of symbols (such as the decimal separator, the grouping separator, and so on) needed by DecimalFormat to format numbers. DecimalFormat creates for itself an instance of DecimalFormatSymbols from its locale data. If you need to change any of these symbols, you can get the DecimalFormatSymbols object from your DecimalFormat and modify it.

Author:
Mark Davis, Alan Liu
See Also:
Locale, DecimalFormat, Serialized Form
Status:
Stable ICU 2.0.

Field Summary
static int CURRENCY_SPC_CURRENCY_MATCH
          [icu] Indicates the currency match pattern used in getPatternForCurrencySpacing(int, boolean).
static int CURRENCY_SPC_INSERT
          [icu] Indicates the insertion value used in getPatternForCurrencySpacing(int, boolean).
static int CURRENCY_SPC_SURROUNDING_MATCH
          [icu] Indicates the surrounding match pattern used in getPatternForCurrencySpacing(int, boolean).
 
Constructor Summary
DecimalFormatSymbols()
          Creates a DecimalFormatSymbols object for the default locale.
DecimalFormatSymbols(java.util.Locale locale)
          Creates a DecimalFormatSymbols object for the given locale.
DecimalFormatSymbols(ULocale locale)
          [icu] Creates a DecimalFormatSymbols object for the given locale.
 
Method Summary
 java.lang.Object clone()
          
 boolean equals(java.lang.Object obj)
          
static java.util.Locale[] getAvailableLocales()
          Returns an array of all locales for which the getInstance methods of this class can return localized instances.
static ULocale[] getAvailableULocales()
          [icu] Returns an array of all locales for which the getInstance methods of this class can return localized instances.
 Currency getCurrency()
          Returns the currency symbol, for JDK 1.4 compatibility only.
 java.lang.String getCurrencySymbol()
          Returns the string denoting the local currency.
 char getDecimalSeparator()
          Returns the character used for decimal sign.
 char getDigit()
          Returns the character used for a digit in a pattern.
 java.lang.String getExponentSeparator()
          [icu] Returns the string used to separate the mantissa from the exponent.
 char getGroupingSeparator()
          Returns the character used for thousands separator.
 java.lang.String getInfinity()
          Returns the String used to represent infinity.
static DecimalFormatSymbols getInstance()
          Returns a DecimalFormatSymbols instance for the default locale.
static DecimalFormatSymbols getInstance(java.util.Locale locale)
          Returns a DecimalFormatSymbols instance for the given locale.
static DecimalFormatSymbols getInstance(ULocale locale)
          Returns a DecimalFormatSymbols instance for the given locale.
 java.lang.String getInternationalCurrencySymbol()
          Returns the international string denoting the local currency.
 java.util.Locale getLocale()
          Returns the locale for which this object was constructed.
 ULocale getLocale(ULocale.Type type)
          [icu] Returns the locale that was used to create this object, or null.
 char getMinusSign()
          Returns the character used to represent minus sign.
 char getMonetaryDecimalSeparator()
          Returns the monetary decimal separator.
 char getMonetaryGroupingSeparator()
          [icu] Returns the monetary grouping separator.
 java.lang.String getNaN()
          Returns the String used to represent NaN.
 char getPadEscape()
          [icu] Returns the character used to pad numbers out to a specified width.
 java.lang.String getPatternForCurrencySpacing(int itemType, boolean beforeCurrency)
          [icu] Returns the desired currency spacing value.
 char getPatternSeparator()
          Returns the character used to separate positive and negative subpatterns in a pattern.
 char getPercent()
          Returns the character used for percent sign.
 char getPerMill()
          Returns the character used for mille percent sign.
 char getPlusSign()
          [icu] Returns the localized plus sign.
 char getSignificantDigit()
          Returns the character used to represent a significant digit in a pattern.
 ULocale getULocale()
          Returns the locale for which this object was constructed.
 char getZeroDigit()
          Returns the character used for zero.
 int hashCode()
          
 void setCurrency(Currency currency)
          Sets the currency.
 void setCurrencySymbol(java.lang.String currency)
          Sets the string denoting the local currency.
 void setDecimalSeparator(char decimalSeparator)
          Sets the character used for decimal sign.
 void setDigit(char digit)
          Sets the character used for a digit in a pattern.
 void setExponentSeparator(java.lang.String exp)
          [icu] Sets the string used to separate the mantissa from the exponent.
 void setGroupingSeparator(char groupingSeparator)
          Sets the character used for thousands separator.
 void setInfinity(java.lang.String infinity)
          Sets the String used to represent infinity.
 void setInternationalCurrencySymbol(java.lang.String currency)
          Sets the international string denoting the local currency.
 void setMinusSign(char minusSign)
          Sets the character used to represent minus sign.
 void setMonetaryDecimalSeparator(char sep)
          Sets the monetary decimal separator.
 void setMonetaryGroupingSeparator(char sep)
          Sets the monetary decimal separator.
 void setNaN(java.lang.String NaN)
          Sets the String used to represent NaN.
 void setPadEscape(char c)
          [icu] Sets the character used to pad numbers out to a specified width.
 void setPatternForCurrencySpacing(int itemType, boolean beforeCurrency, java.lang.String pattern)
          [icu] Sets the indicated currency spacing pattern or value.
 void setPatternSeparator(char patternSeparator)
          Sets the character used to separate positive and negative subpatterns in a pattern.
 void setPercent(char percent)
          Sets the character used for percent sign.
 void setPerMill(char perMill)
          Sets the character used for mille percent sign.
 void setPlusSign(char plus)
          [icu] Sets the localized plus sign.
 void setSignificantDigit(char sigDigit)
          Sets the character used to represent a significant digit in a pattern.
 void setZeroDigit(char zeroDigit)
          Sets the character used for zero.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CURRENCY_SPC_CURRENCY_MATCH

public static final int CURRENCY_SPC_CURRENCY_MATCH
[icu] Indicates the currency match pattern used in getPatternForCurrencySpacing(int, boolean).

See Also:
Constant Field Values
Status:
Draft ICU 4.2.

CURRENCY_SPC_SURROUNDING_MATCH

public static final int CURRENCY_SPC_SURROUNDING_MATCH
[icu] Indicates the surrounding match pattern used in getPatternForCurrencySpacing(int, boolean).

See Also:
Constant Field Values
Status:
Draft ICU 4.2.

CURRENCY_SPC_INSERT

public static final int CURRENCY_SPC_INSERT
[icu] Indicates the insertion value used in getPatternForCurrencySpacing(int, boolean).

See Also:
Constant Field Values
Status:
Draft ICU 4.4.
Constructor Detail

DecimalFormatSymbols

public DecimalFormatSymbols()
Creates a DecimalFormatSymbols object for the default locale.

Status:
Stable ICU 2.0.

DecimalFormatSymbols

public DecimalFormatSymbols(java.util.Locale locale)
Creates a DecimalFormatSymbols object for the given locale.

Parameters:
locale - the locale
Status:
Stable ICU 2.0.

DecimalFormatSymbols

public DecimalFormatSymbols(ULocale locale)
[icu] Creates a DecimalFormatSymbols object for the given locale.

Parameters:
locale - the locale
Status:
Stable ICU 3.2.
Method Detail

getInstance

public static DecimalFormatSymbols getInstance()
Returns a DecimalFormatSymbols instance for the default locale.

Note: Unlike java.text.DecimalFormatSymbols#getInstance, this method simply returns new com.ibm.icu.text.DecimalFormatSymbols(). ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

Returns:
A DecimalFormatSymbols instance.
Status:
Stable ICU 3.8.

getInstance

public static DecimalFormatSymbols getInstance(java.util.Locale locale)
Returns a DecimalFormatSymbols instance for the given locale.

Note: Unlike java.text.DecimalFormatSymbols#getInstance, this method simply returns new com.ibm.icu.text.DecimalFormatSymbols(locale). ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

Parameters:
locale - the locale.
Returns:
A DecimalFormatSymbols instance.
Status:
Stable ICU 3.8.

getInstance

public static DecimalFormatSymbols getInstance(ULocale locale)
Returns a DecimalFormatSymbols instance for the given locale.

Note: Unlike java.text.DecimalFormatSymbols#getInstance, this method simply returns new com.ibm.icu.text.DecimalFormatSymbols(locale). ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

Parameters:
locale - the locale.
Returns:
A DecimalFormatSymbols instance.
Status:
Stable ICU 3.8.

getAvailableLocales

public static java.util.Locale[] getAvailableLocales()
Returns an array of all locales for which the getInstance methods of this class can return localized instances.

Note: Unlike java.text.DecimalFormatSymbols#getAvailableLocales, this method simply returns the array of Locales available for this class. ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

Returns:
An array of Locales for which localized DecimalFormatSymbols instances are available.
Status:
Stable ICU 3.8.

getAvailableULocales

public static ULocale[] getAvailableULocales()
[icu] Returns an array of all locales for which the getInstance methods of this class can return localized instances.

Note: Unlike java.text.DecimalFormatSymbols#getAvailableLocales, this method simply returns the array of ULocales available in this class. ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

Returns:
An array of ULocales for which localized DecimalFormatSymbols instances are available.
Status:
Stable ICU 3.8 (retain).

getZeroDigit

public char getZeroDigit()
Returns the character used for zero. Different for Arabic, etc.

Returns:
the character
Status:
Stable ICU 2.0.

setZeroDigit

public void setZeroDigit(char zeroDigit)
Sets the character used for zero.

Parameters:
zeroDigit - the zero character.
Status:
Stable ICU 2.0.

getSignificantDigit

public char getSignificantDigit()
Returns the character used to represent a significant digit in a pattern.

Returns:
the significant digit pattern character
Status:
Stable ICU 3.0.

setSignificantDigit

public void setSignificantDigit(char sigDigit)
Sets the character used to represent a significant digit in a pattern.

Parameters:
sigDigit - the significant digit pattern character
Status:
Stable ICU 3.0.

getGroupingSeparator

public char getGroupingSeparator()
Returns the character used for thousands separator. Different for French, etc.

Returns:
the thousands character
Status:
Stable ICU 2.0.

setGroupingSeparator

public void setGroupingSeparator(char groupingSeparator)
Sets the character used for thousands separator. Different for French, etc.

Parameters:
groupingSeparator - the thousands character
Status:
Stable ICU 2.0.

getDecimalSeparator

public char getDecimalSeparator()
Returns the character used for decimal sign. Different for French, etc.

Returns:
the decimal character
Status:
Stable ICU 2.0.

setDecimalSeparator

public void setDecimalSeparator(char decimalSeparator)
Sets the character used for decimal sign. Different for French, etc.

Parameters:
decimalSeparator - the decimal character
Status:
Stable ICU 2.0.

getPerMill

public char getPerMill()
Returns the character used for mille percent sign. Different for Arabic, etc.

Returns:
the mille percent character
Status:
Stable ICU 2.0.

setPerMill

public void setPerMill(char perMill)
Sets the character used for mille percent sign. Different for Arabic, etc.

Parameters:
perMill - the mille percent character
Status:
Stable ICU 2.0.

getPercent

public char getPercent()
Returns the character used for percent sign. Different for Arabic, etc.

Returns:
the percent character
Status:
Stable ICU 2.0.

setPercent

public void setPercent(char percent)
Sets the character used for percent sign. Different for Arabic, etc.

Parameters:
percent - the percent character
Status:
Stable ICU 2.0.

getDigit

public char getDigit()
Returns the character used for a digit in a pattern.

Returns:
the digit pattern character
Status:
Stable ICU 2.0.

setDigit

public void setDigit(char digit)
Sets the character used for a digit in a pattern.

Parameters:
digit - the digit pattern character
Status:
Stable ICU 2.0.

getPatternSeparator

public char getPatternSeparator()
Returns the character used to separate positive and negative subpatterns in a pattern.

Returns:
the pattern separator character
Status:
Stable ICU 2.0.

setPatternSeparator

public void setPatternSeparator(char patternSeparator)
Sets the character used to separate positive and negative subpatterns in a pattern.

Parameters:
patternSeparator - the pattern separator character
Status:
Stable ICU 2.0.

getInfinity

public java.lang.String getInfinity()
Returns the String used to represent infinity. Almost always left unchanged.

Returns:
the Infinity string
Status:
Stable ICU 2.0.

setInfinity

public void setInfinity(java.lang.String infinity)
Sets the String used to represent infinity. Almost always left unchanged.

Parameters:
infinity - the Infinity String
Status:
Stable ICU 2.0.

getNaN

public java.lang.String getNaN()
Returns the String used to represent NaN. Almost always left unchanged.

Returns:
the NaN String
Status:
Stable ICU 2.0.

setNaN

public void setNaN(java.lang.String NaN)
Sets the String used to represent NaN. Almost always left unchanged.

Parameters:
NaN - the NaN String
Status:
Stable ICU 2.0.

getMinusSign

public char getMinusSign()
Returns the character used to represent minus sign. If no explicit negative format is specified, one is formed by prefixing minusSign to the positive format.

Returns:
the minus sign character
Status:
Stable ICU 2.0.

setMinusSign

public void setMinusSign(char minusSign)
Sets the character used to represent minus sign. If no explicit negative format is specified, one is formed by prefixing minusSign to the positive format.

Parameters:
minusSign - the minus sign character
Status:
Stable ICU 2.0.

getCurrencySymbol

public java.lang.String getCurrencySymbol()
Returns the string denoting the local currency.

Returns:
the local currency String.
Status:
Stable ICU 2.0.

setCurrencySymbol

public void setCurrencySymbol(java.lang.String currency)
Sets the string denoting the local currency.

Parameters:
currency - the local currency String.
Status:
Stable ICU 2.0.

getInternationalCurrencySymbol

public java.lang.String getInternationalCurrencySymbol()
Returns the international string denoting the local currency.

Returns:
the international string denoting the local currency
Status:
Stable ICU 2.0.

setInternationalCurrencySymbol

public void setInternationalCurrencySymbol(java.lang.String currency)
Sets the international string denoting the local currency.

Parameters:
currency - the international string denoting the local currency.
Status:
Stable ICU 2.0.

getCurrency

public Currency getCurrency()
Returns the currency symbol, for JDK 1.4 compatibility only. ICU clients should use the Currency API directly.

Returns:
the currency used, or null
Status:
Stable ICU 3.4.

setCurrency

public void setCurrency(Currency currency)
Sets the currency.

Note: ICU does not use the DecimalFormatSymbols for the currency any more. This API is present for API compatibility only.

This also sets the currency symbol attribute to the currency's symbol in the DecimalFormatSymbols' locale, and the international currency symbol attribute to the currency's ISO 4217 currency code.

Parameters:
currency - the new currency to be used
Throws:
java.lang.NullPointerException - if currency is null
See Also:
setCurrencySymbol(java.lang.String), setInternationalCurrencySymbol(java.lang.String)
Status:
Stable ICU 3.4.

getMonetaryDecimalSeparator

public char getMonetaryDecimalSeparator()
Returns the monetary decimal separator.

Returns:
the monetary decimal separator character
Status:
Stable ICU 2.0.

getMonetaryGroupingSeparator

public char getMonetaryGroupingSeparator()
[icu] Returns the monetary grouping separator.

Returns:
the monetary grouping separator character
Status:
Stable ICU 3.6.

setMonetaryDecimalSeparator

public void setMonetaryDecimalSeparator(char sep)
Sets the monetary decimal separator.

Parameters:
sep - the monetary decimal separator character
Status:
Stable ICU 2.0.

setMonetaryGroupingSeparator

public void setMonetaryGroupingSeparator(char sep)
Sets the monetary decimal separator.

Parameters:
sep - the monetary decimal separator character
Status:
Stable ICU 3.6.

getExponentSeparator

public java.lang.String getExponentSeparator()
[icu] Returns the string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.

Returns:
the localized exponent symbol, used in localized patterns and formatted strings
See Also:
setExponentSeparator(java.lang.String)
Status:
Stable ICU 2.0.

setExponentSeparator

public void setExponentSeparator(java.lang.String exp)
[icu] Sets the string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.

Parameters:
exp - the localized exponent symbol, used in localized patterns and formatted strings
See Also:
getExponentSeparator()
Status:
Stable ICU 2.0.

getPlusSign

public char getPlusSign()
[icu] Returns the localized plus sign.

Returns:
the plus sign, used in localized patterns and formatted strings
See Also:
setPlusSign(char), setMinusSign(char), getMinusSign()
Status:
Stable ICU 2.0.

setPlusSign

public void setPlusSign(char plus)
[icu] Sets the localized plus sign.

Parameters:
plus - the plus sign, used in localized patterns and formatted strings
See Also:
getPlusSign(), setMinusSign(char), getMinusSign()
Status:
Stable ICU 2.0.

getPadEscape

public char getPadEscape()
[icu] Returns the character used to pad numbers out to a specified width. This is not the pad character itself; rather, it is the special pattern character preceding the pad character. In the pattern "*_#,##0", '*' is the pad escape, and '_' is the pad character.

Returns:
the character
See Also:
setPadEscape(char), DecimalFormat.getFormatWidth(), DecimalFormat.getPadPosition(), DecimalFormat.getPadCharacter()
Status:
Stable ICU 2.0.

setPadEscape

public void setPadEscape(char c)
[icu] Sets the character used to pad numbers out to a specified width. This is not the pad character itself; rather, it is the special pattern character preceding the pad character. In the pattern "*_#,##0", '*' is the pad escape, and '_' is the pad character.

See Also:
getPadEscape(), DecimalFormat.setFormatWidth(int), DecimalFormat.setPadPosition(int), DecimalFormat.setPadCharacter(char)
Status:
Stable ICU 2.0.

getPatternForCurrencySpacing

public java.lang.String getPatternForCurrencySpacing(int itemType,
                                                     boolean beforeCurrency)
[icu] Returns the desired currency spacing value. Original values come from ICU's CLDR data based on the locale provided during construction, and can be null. These values govern what and when text is inserted between a currency code/name/symbol and the currency amount when formatting money.

For more information, see UTS#35 section 5.10.2.

Note: ICU4J does not currently use this information.

Parameters:
itemType - one of CURRENCY_SPC_CURRENCY_MATCH, CURRENCY_SPC_SURROUNDING_MATCH or CURRENCY_SPC_INSERT
beforeCurrency - true to get the beforeCurrency values, false to get the afterCurrency values.
Returns:
the value, or null.
See Also:
setPatternForCurrencySpacing(int, boolean, String)
Status:
Draft ICU 4.2.

setPatternForCurrencySpacing

public void setPatternForCurrencySpacing(int itemType,
                                         boolean beforeCurrency,
                                         java.lang.String pattern)
[icu] Sets the indicated currency spacing pattern or value. See getPatternForCurrencySpacing(int, boolean) for more information.

Values for currency match and surrounding match must be UnicodeSet patterns. Values for insert can be any string.

Note: ICU4J does not currently use this information.

Parameters:
itemType - one of CURRENCY_SPC_CURRENCY_MATCH, CURRENCY_SPC_SURROUNDING_MATCH or CURRENCY_SPC_INSERT
beforeCurrency - true if the pattern is for before the currency symbol. false if the pattern is for after it.
pattern - string to override current setting; can be null.
See Also:
getPatternForCurrencySpacing(int, boolean)
Status:
Draft ICU 4.2.

getLocale

public java.util.Locale getLocale()
Returns the locale for which this object was constructed.

Returns:
the locale for which this object was constructed
Status:
Stable ICU 2.0.

getULocale

public ULocale getULocale()
Returns the locale for which this object was constructed.

Returns:
the locale for which this object was constructed
Status:
Stable ICU 3.2.

clone

public java.lang.Object clone()

Overrides:
clone in class java.lang.Object
Status:
Stable ICU 2.0.

equals

public boolean equals(java.lang.Object obj)

Overrides:
equals in class java.lang.Object
Status:
Stable ICU 2.0.

hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object
Status:
Stable ICU 2.0.

getLocale

public final ULocale getLocale(ULocale.Type type)
[icu] Returns 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: The actual locale is returned correctly, but the valid locale is not, in most cases.

Parameters:
type - type of information requested, either ULocale.VALID_LOCALE or ULocale.ACTUAL_LOCALE.
Returns:
the information specified by type, or null if this object was not constructed from locale data.
See Also:
ULocale, ULocale.VALID_LOCALE, ULocale.ACTUAL_LOCALE
Status:
Draft ICU 2.8 (retain).


Copyright (c) 2011 IBM Corporation and others.