java.text
Class DecimalFormatSymbols

java.lang.Object
  extended by java.text.DecimalFormatSymbols
All Implemented Interfaces:
Serializable, Cloneable

public final class DecimalFormatSymbols
extends Object
implements Cloneable, Serializable

This class is a container for the symbols used by DecimalFormat to format numbers and currency. These are normally handled automatically, but an application can override values as desired using this class.

See Also:
Serialized Form

Constructor Summary
DecimalFormatSymbols()
          This method initializes a new instance of DecimalFormatSymbols for the default locale.
DecimalFormatSymbols(Locale loc)
          This method initializes a new instance of DecimalFormatSymbols for the specified locale.
 
Method Summary
 Object clone()
          This method may be called to create a new copy of the Object.
 boolean equals(Object obj)
          This method this this object for equality against the specified object.
 Currency getCurrency()
          Returns the currency corresponding to the currency symbol stored in the instance of DecimalFormatSymbols.
 String getCurrencySymbol()
          This method returns the currency symbol in local format.
 char getDecimalSeparator()
          This method returns the character used as the decimal point.
 char getDigit()
          This method returns the character used to represent a digit in a format pattern string.
 char getGroupingSeparator()
          This method sets the character used to separate groups of digits.
 String getInfinity()
          This method returns the character used to represent infinity.
static DecimalFormatSymbols getInstance()
          Returns a DecimalFormatSymbols instance for the default locale obtained from either the runtime itself or one of the installed DecimalFormatSymbolsProvider instances.
static DecimalFormatSymbols getInstance(Locale locale)
          Returns a DecimalFormatSymbols instance for the specified locale obtained from either the runtime itself or one of the installed DecimalFormatSymbolsProvider instances.
 String getInternationalCurrencySymbol()
          This method returns the currency symbol in international format.
 char getMinusSign()
          This method returns the character used to represent the minus sign.
 char getMonetaryDecimalSeparator()
          This method returns the character used to represent the decimal point for currency values.
 String getNaN()
          This method returns the string used to represent the NaN (not a number) value.
 char getPatternSeparator()
          This method returns the character used to separate positive and negative subpatterns in a format pattern.
 char getPercent()
          This method returns the character used as the percent sign.
 char getPerMill()
          This method returns the character used as the per mille character.
 char getZeroDigit()
          This method returns the character used to represent the digit zero.
 int hashCode()
          This method returns a hash value for this object.
 void setCurrency(Currency currency)
          This method sets the currency symbol and ISO 4217 currency code to the values obtained from the supplied currency.
 void setCurrencySymbol(String currency)
          This method sets the currency symbol to the specified value.
 void setDecimalSeparator(char decimalSep)
          This method sets the decimal point character to the specified value.
 void setDigit(char digit)
          This method sets the character used to represents a digit in a format string to the specified value.
 void setGroupingSeparator(char groupSep)
          This method sets the character used to separate groups of digits.
 void setInfinity(String infinity)
          This method sets the string used to represents infinity.
 void setInternationalCurrencySymbol(String currencyCode)
          This method sets the international currency symbol to the specified value.
 void setMinusSign(char minusSign)
          This method sets the character used to represent the minus sign.
 void setMonetaryDecimalSeparator(char decimalSep)
          This method sets the character used for the decimal point in currency values.
 void setNaN(String nan)
          This method sets the string used to represent the NaN (not a number) value.
 void setPatternSeparator(char patternSep)
          This method sets the character used to separate positive and negative subpatterns in a format pattern.
 void setPercent(char percent)
          This method sets the character used as the percent sign.
 void setPerMill(char perMill)
          This method sets the character used as the per mille character.
 void setZeroDigit(char zeroDigit)
          This method sets the character used to represent the digit zero.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecimalFormatSymbols

public DecimalFormatSymbols()
This method initializes a new instance of DecimalFormatSymbols for the default locale. This constructor only obtains instances using the runtime's resources; to also include DateFormatSymbolsProvider instances, call getInstance() instead.

See Also:
getInstance()

DecimalFormatSymbols

public DecimalFormatSymbols(Locale loc)
This method initializes a new instance of DecimalFormatSymbols for the specified locale. Note: if the locale does not have an associated Currency instance, the currency symbol and international currency symbol will be set to the strings "?" and "XXX" respectively. This generally happens with language locales (those with no specified country), such as Locale.ENGLISH. This constructor only obtains instances using the runtime's resources; to also include DecimalFormatSymbolsProvider instances, call getInstance(java.util.Locale) instead.

Parameters:
loc - The local to load symbols for.
Throws:
NullPointerException - if the locale is null.
See Also:
getInstance(java.util.Locale)
Method Detail

clone

public Object clone()
Description copied from class: Object
This method may be called to create a new copy of the Object. The typical behavior is as follows:

However, these are not strict requirements, and may be violated if necessary. Of the three requirements, the last is the most commonly violated, particularly if the subclass does not override Object.equals(Object).

If the Object you call clone() on does not implement Cloneable (which is a placeholder interface), then a CloneNotSupportedException is thrown. Notice that Object does not implement Cloneable; this method exists as a convenience for subclasses that do.

Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy.

All array types implement Cloneable, and override this method as follows (it should never fail):

 public Object clone()
 {
   try
     {
       super.clone();
     }
   catch (CloneNotSupportedException e)
     {
       throw new InternalError(e.getMessage());
     }
 }
 

Overrides:
clone in class Object
Returns:
a copy of the Object
See Also:
Cloneable

equals

public boolean equals(Object obj)
This method this this object for equality against the specified object. This will be true if and only if the following criteria are met with regard to the specified object:

Overrides:
equals in class Object
Parameters:
obj - the Object to compare to
Returns:
true if the specified object is equal to this object, false otherwise.
See Also:
Object.hashCode()

getCurrency

public Currency getCurrency()
Returns the currency corresponding to the currency symbol stored in the instance of DecimalFormatSymbols.

Returns:
An instance of Currency which matches the currency used, or null if there is no corresponding instance.

getCurrencySymbol

public String getCurrencySymbol()
This method returns the currency symbol in local format. For example, "$" for Canadian dollars.

Returns:
The currency symbol in local format.

getDecimalSeparator

public char getDecimalSeparator()
This method returns the character used as the decimal point.

Returns:
The character used as the decimal point.

getDigit

public char getDigit()
This method returns the character used to represent a digit in a format pattern string.

Returns:
The character used to represent a digit in a format pattern string.

getGroupingSeparator

public char getGroupingSeparator()
This method sets the character used to separate groups of digits. For example, the United States uses a comma (,) to separate thousands in a number.

Returns:
The character used to separate groups of digits.

getInfinity

public String getInfinity()
This method returns the character used to represent infinity.

Returns:
The character used to represent infinity.

getInternationalCurrencySymbol

public String getInternationalCurrencySymbol()
This method returns the currency symbol in international format. For example, "C$" for Canadian dollars.

Returns:
The currency symbol in international format.

getMinusSign

public char getMinusSign()
This method returns the character used to represent the minus sign.

Returns:
The character used to represent the minus sign.

getMonetaryDecimalSeparator

public char getMonetaryDecimalSeparator()
This method returns the character used to represent the decimal point for currency values.

Returns:
The decimal point character used in currency values.

getNaN

public String getNaN()
This method returns the string used to represent the NaN (not a number) value.

Returns:
The string used to represent NaN

getPatternSeparator

public char getPatternSeparator()
This method returns the character used to separate positive and negative subpatterns in a format pattern.

Returns:
The character used to separate positive and negative subpatterns in a format pattern.

getPercent

public char getPercent()
This method returns the character used as the percent sign.

Returns:
The character used as the percent sign.

getPerMill

public char getPerMill()
This method returns the character used as the per mille character.

Returns:
The per mille character.

getZeroDigit

public char getZeroDigit()
This method returns the character used to represent the digit zero.

Returns:
The character used to represent the digit zero.

hashCode

public int hashCode()
This method returns a hash value for this object.

Overrides:
hashCode in class Object
Returns:
A hash value for this object.
See Also:
Object.equals(Object), System.identityHashCode(Object)

setCurrency

public void setCurrency(Currency currency)
This method sets the currency symbol and ISO 4217 currency code to the values obtained from the supplied currency.

Parameters:
currency - the currency from which to obtain the values.
Throws:
NullPointerException - if the currency is null.

setCurrencySymbol

public void setCurrencySymbol(String currency)
This method sets the currency symbol to the specified value.

Parameters:
currency - The new currency symbol

setDecimalSeparator

public void setDecimalSeparator(char decimalSep)
This method sets the decimal point character to the specified value.

Parameters:
decimalSep - The new decimal point character

setDigit

public void setDigit(char digit)
This method sets the character used to represents a digit in a format string to the specified value.

Parameters:
digit - The character used to represent a digit in a format pattern.

setGroupingSeparator

public void setGroupingSeparator(char groupSep)
This method sets the character used to separate groups of digits.

Parameters:
groupSep - The character used to separate groups of digits.

setInfinity

public void setInfinity(String infinity)
This method sets the string used to represents infinity.

Parameters:
infinity - The string used to represent infinity.

setInternationalCurrencySymbol

public void setInternationalCurrencySymbol(String currencyCode)
This method sets the international currency symbol to the specified value. If a valid Currency instance exists for the international currency code, then this is used for the currency attribute, and the currency symbol is set to the corresponding value from this instance. Otherwise, the currency attribute is set to null and the symbol is left unmodified.

Parameters:
currencyCode - The new international currency symbol.

setMinusSign

public void setMinusSign(char minusSign)
This method sets the character used to represent the minus sign.

Parameters:
minusSign - The character used to represent the minus sign.

setMonetaryDecimalSeparator

public void setMonetaryDecimalSeparator(char decimalSep)
This method sets the character used for the decimal point in currency values.

Parameters:
decimalSep - The decimal point character used in currency values.

setNaN

public void setNaN(String nan)
This method sets the string used to represent the NaN (not a number) value.

Parameters:
nan - The string used to represent NaN

setPatternSeparator

public void setPatternSeparator(char patternSep)
This method sets the character used to separate positive and negative subpatterns in a format pattern.

Parameters:
patternSep - The character used to separate positive and negative subpatterns in a format pattern.

setPercent

public void setPercent(char percent)
This method sets the character used as the percent sign.

Parameters:
percent - The character used as the percent sign.

setPerMill

public void setPerMill(char perMill)
This method sets the character used as the per mille character.

Parameters:
perMill - The per mille character.

setZeroDigit

public void setZeroDigit(char zeroDigit)
This method sets the character used to represent the digit zero.

Parameters:
zeroDigit - The character used to represent the digit zero.

getInstance

public static final DecimalFormatSymbols getInstance()
Returns a DecimalFormatSymbols instance for the default locale obtained from either the runtime itself or one of the installed DecimalFormatSymbolsProvider instances. This is equivalent to calling getInstance(Locale.getDefault()).

Returns:
a DecimalFormatSymbols instance for the default locale.
Since:
1.6

getInstance

public static final DecimalFormatSymbols getInstance(Locale locale)
Returns a DecimalFormatSymbols instance for the specified locale obtained from either the runtime itself or one of the installed DecimalFormatSymbolsProvider instances.

Parameters:
locale - the locale for which an instance should be returned.
Returns:
a DecimalFormatSymbols instance for the specified locale.
Throws:
NullPointerException - if locale is null.
Since:
1.6