DecimalFormatSymbols

public class DecimalFormatSymbols extends Object
implements Cloneable Serializable

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.

Public Constructor Summary

DecimalFormatSymbols()
Create a DecimalFormatSymbols object for the default FORMAT locale.
DecimalFormatSymbols(Locale locale)
Create a DecimalFormatSymbols object for the given locale.

Public Method Summary

Object
clone()
Standard override.
boolean
equals(Object obj)
Override equals.
static Locale[]
getAvailableLocales()
Returns an array of all locales for which the getInstance methods of this class can return localized instances.
Currency
getCurrency()
Gets the currency of these DecimalFormatSymbols.
String
getCurrencySymbol()
Returns the currency symbol for the currency of these DecimalFormatSymbols in their locale.
char
getDecimalSeparator()
Gets the character used for decimal sign.
char
getDigit()
Gets the character used for a digit in a pattern.
String
getExponentSeparator()
Returns the string used to separate the mantissa from the exponent.
char
getGroupingSeparator()
Gets the character used for thousands separator.
String
getInfinity()
Gets the string used to represent infinity.
final static DecimalFormatSymbols
getInstance()
Gets the DecimalFormatSymbols instance for the default locale.
final static DecimalFormatSymbols
getInstance(Locale locale)
Gets the DecimalFormatSymbols instance for the specified locale.
String
getInternationalCurrencySymbol()
Returns the ISO 4217 currency code of the currency of these DecimalFormatSymbols.
char
getMinusSign()
Gets the character used to represent minus sign.
char
getMonetaryDecimalSeparator()
Returns the monetary decimal separator.
String
getNaN()
Gets the string used to represent "not a number".
char
getPatternSeparator()
Gets the character used to separate positive and negative subpatterns in a pattern.
char
getPerMill()
Gets the character used for per mille sign.
char
getPercent()
Gets the character used for percent sign.
char
getZeroDigit()
Gets the character used for zero.
int
hashCode()
Override hashCode.
void
setCurrency(Currency currency)
Sets the currency of these DecimalFormatSymbols.
void
setCurrencySymbol(String currency)
Sets the currency symbol for the currency of these DecimalFormatSymbols in their locale.
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(String exp)
Sets the string used to separate the mantissa from the exponent.
void
setGroupingSeparator(char groupingSeparator)
Sets the character used for thousands separator.
void
setInfinity(String infinity)
Sets the string used to represent infinity.
void
setInternationalCurrencySymbol(String currencyCode)
Sets the ISO 4217 currency code of the currency of these DecimalFormatSymbols.
void
setMinusSign(char minusSign)
Sets the character used to represent minus sign.
void
setMonetaryDecimalSeparator(char sep)
Sets the monetary decimal separator.
void
setNaN(String NaN)
Sets the string used to represent "not a number".
void
setPatternSeparator(char patternSeparator)
Sets the character used to separate positive and negative subpatterns in a pattern.
void
setPerMill(char perMill)
Sets the character used for per mille sign.
void
setPercent(char percent)
Sets the character used for percent sign.
void
setZeroDigit(char zeroDigit)
Sets the character used for zero.

Inherited Method Summary

Public Constructors

public DecimalFormatSymbols ()

Create a DecimalFormatSymbols object for the default FORMAT locale. It is recommended that the getInstance method is used instead.

This is equivalent to calling DecimalFormatSymbols(Locale.getDefault(Locale.Category.FORMAT)).

public DecimalFormatSymbols (Locale locale)

Create a DecimalFormatSymbols object for the given locale. It is recommended that the getInstance method is used instead. If the specified locale contains the Locale.UNICODE_LOCALE_EXTENSION for the numbering system, the instance is initialized with the specified numbering system if the JRE implementation supports it. For example,

 NumberFormat.getNumberInstance(Locale.forLanguageTag("th-TH-u-nu-thai"))
 
This may return a NumberFormat instance with the Thai numbering system, instead of the Latin numbering system.

Parameters
locale the desired locale
Throws
NullPointerException if locale is null

Public Methods

public Object clone ()

Standard override.

Returns
  • a copy of this object.

public boolean equals (Object obj)

Override equals.

Parameters
obj the object to compare this instance with.
Returns
  • true if the specified object is equal to this Object; false otherwise.

public static Locale[] getAvailableLocales ()

Returns an array of all locales for which the getInstance methods of this class can return localized instances.

Returns
  • an array of locales for which localized DecimalFormatSymbols instances are available.

public Currency getCurrency ()

Gets the currency of these DecimalFormatSymbols. May be null if the currency symbol attribute was previously set to a value that's not a valid ISO 4217 currency code.

Returns
  • the currency used, or null

public String getCurrencySymbol ()

Returns the currency symbol for the currency of these DecimalFormatSymbols in their locale.

Returns
  • the currency symbol

public char getDecimalSeparator ()

Gets the character used for decimal sign. Different for French, etc.

Returns
  • the character used for decimal sign

public char getDigit ()

Gets the character used for a digit in a pattern.

Returns
  • the character used for a digit in a pattern

public String getExponentSeparator ()

Returns the string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.

Returns
  • the exponent separator string

public char getGroupingSeparator ()

Gets the character used for thousands separator. Different for French, etc.

Returns
  • the grouping separator

public String getInfinity ()

Gets the string used to represent infinity. Almost always left unchanged.

Returns
  • the string representing infinity

public static final DecimalFormatSymbols getInstance ()

Gets the DecimalFormatSymbols instance for the default locale.

This is equivalent to calling getInstance(Locale.getDefault(Locale.Category.FORMAT)).

Returns
  • a DecimalFormatSymbols instance.

public static final DecimalFormatSymbols getInstance (Locale locale)

Gets the DecimalFormatSymbols instance for the specified locale. If the specified locale contains the Locale.UNICODE_LOCALE_EXTENSION for the numbering system, the instance is initialized with the specified numbering system if the JRE implementation supports it. For example,

 NumberFormat.getNumberInstance(Locale.forLanguageTag("th-TH-u-nu-thai"))
 
This may return a NumberFormat instance with the Thai numbering system, instead of the Latin numbering system.

Parameters
locale the desired locale.
Returns
  • a DecimalFormatSymbols instance.
Throws
NullPointerException if locale is null

public String getInternationalCurrencySymbol ()

Returns the ISO 4217 currency code of the currency of these DecimalFormatSymbols.

Returns
  • the currency code

public char getMinusSign ()

Gets 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 character representing minus sign

public char getMonetaryDecimalSeparator ()

Returns the monetary decimal separator.

Returns
  • the monetary decimal separator

public String getNaN ()

Gets the string used to represent "not a number". Almost always left unchanged.

Returns
  • the string representing "not a number"

public char getPatternSeparator ()

Gets the character used to separate positive and negative subpatterns in a pattern.

Returns
  • the pattern separator

public char getPerMill ()

Gets the character used for per mille sign. Different for Arabic, etc.

Returns
  • the character used for per mille sign

public char getPercent ()

Gets the character used for percent sign. Different for Arabic, etc.

Returns
  • the character used for percent sign

public char getZeroDigit ()

Gets the character used for zero. Different for Arabic, etc.

Returns
  • the character used for zero

public int hashCode ()

Override hashCode.

Returns
  • this object's hash code.

public void setCurrency (Currency currency)

Sets the currency of these DecimalFormatSymbols. 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
NullPointerException if currency is null

public void setCurrencySymbol (String currency)

Sets the currency symbol for the currency of these DecimalFormatSymbols in their locale.

Parameters
currency the currency symbol

public void setDecimalSeparator (char decimalSeparator)

Sets the character used for decimal sign. Different for French, etc.

Parameters
decimalSeparator the character used for decimal sign

public void setDigit (char digit)

Sets the character used for a digit in a pattern.

Parameters
digit the character used for a digit in a pattern

public void setExponentSeparator (String exp)

Sets the string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.

Parameters
exp the exponent separator string
Throws
NullPointerException if exp is null

public void setGroupingSeparator (char groupingSeparator)

Sets the character used for thousands separator. Different for French, etc.

Parameters
groupingSeparator the grouping separator

public void setInfinity (String infinity)

Sets the string used to represent infinity. Almost always left unchanged.

Parameters
infinity the string representing infinity

public void setInternationalCurrencySymbol (String currencyCode)

Sets the ISO 4217 currency code of the currency of these DecimalFormatSymbols. If the currency code is valid (as defined by Currency.getInstance), this also sets the currency attribute to the corresponding Currency instance and the currency symbol attribute to the currency's symbol in the DecimalFormatSymbols' locale. If the currency code is not valid, then the currency attribute is set to null and the currency symbol attribute is not modified.

Parameters
currencyCode the currency code

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 character representing minus sign

public void setMonetaryDecimalSeparator (char sep)

Sets the monetary decimal separator.

Parameters
sep the monetary decimal separator

public void setNaN (String NaN)

Sets the string used to represent "not a number". Almost always left unchanged.

Parameters
NaN the string representing "not a number"

public void setPatternSeparator (char patternSeparator)

Sets the character used to separate positive and negative subpatterns in a pattern.

Parameters
patternSeparator the pattern separator

public void setPerMill (char perMill)

Sets the character used for per mille sign. Different for Arabic, etc.

Parameters
perMill the character used for per mille sign

public void setPercent (char percent)

Sets the character used for percent sign. Different for Arabic, etc.

Parameters
percent the character used for percent sign

public void setZeroDigit (char zeroDigit)

Sets the character used for zero. Different for Arabic, etc.

Parameters
zeroDigit the character used for zero