Class DecimalFormatSymbols
- java.lang.Object
-
- java.text.DecimalFormatSymbols
- All Implemented Interfaces:
-
Serializable
,Cloneable
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.
If the locale contains "rg" (region override) Unicode extension, the symbols are overridden for the designated region.
- Since:
- 1.1
- See Also:
-
Locale
,DecimalFormat
, Serialized Form
Constructor Summary
Constructor | Description |
---|---|
DecimalFormatSymbols() | Create a DecimalFormatSymbols object for the default |
DecimalFormatSymbols(Locale locale) | Create a DecimalFormatSymbols object for the given locale. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
Object | clone() | Standard override. |
boolean | equals(Object obj) | Override equals. |
static Locale[] | getAvailableLocales() | Returns an array of all locales for which the |
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. |
static DecimalFormatSymbols | getInstance() | Gets the |
static DecimalFormatSymbols | getInstance(Locale locale) | Gets the |
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 | getPercent() | Gets the character used for percent sign. |
char | getPerMill() | Gets the character used for per mille 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 | setPercent(char percent) | Sets the character used for percent sign. |
void | setPerMill(char perMill) | Sets the character used for per mille sign. |
void | setZeroDigit(char zeroDigit) | Sets the character used for zero. |
Methods declared in class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
DecimalFormatSymbols
public DecimalFormatSymbols()
Create a DecimalFormatSymbols object for the default FORMAT
locale. This constructor can only construct instances for the locales supported by the Java runtime environment, not for those supported by installed DecimalFormatSymbolsProvider
implementations. For full locale coverage, use the getInstance
method.
This is equivalent to calling DecimalFormatSymbols(Locale.getDefault(Locale.Category.FORMAT))
.
DecimalFormatSymbols
public DecimalFormatSymbols(Locale locale)
Create a DecimalFormatSymbols object for the given locale. This constructor can only construct instances for the locales supported by the Java runtime environment, not for those supported by installed DecimalFormatSymbolsProvider
implementations. For full locale coverage, use the getInstance
method. 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
- iflocale
is null
Method Detail
getAvailableLocales
public static Locale[] getAvailableLocales()
Returns an array of all locales for which the getInstance
methods of this class can return localized instances. The returned array represents the union of locales supported by the Java runtime and by installed DecimalFormatSymbolsProvider
implementations. It must contain at least a Locale
instance equal to Locale.US
.
- Returns:
- an array of locales for which localized
DecimalFormatSymbols
instances are available. - Since:
- 1.6
getInstance
public static final DecimalFormatSymbols getInstance()
Gets the DecimalFormatSymbols
instance for the default locale. This method provides access to DecimalFormatSymbols
instances for locales supported by the Java runtime itself as well as for those supported by installed DecimalFormatSymbolsProvider
implementations.
This is equivalent to calling getInstance(Locale.getDefault(Locale.Category.FORMAT))
.
- Returns:
- a
DecimalFormatSymbols
instance. - Since:
- 1.6
- See Also:
-
Locale.getDefault(java.util.Locale.Category)
,Locale.Category.FORMAT
getInstance
public static final DecimalFormatSymbols getInstance(Locale locale)
Gets the DecimalFormatSymbols
instance for the specified locale. This method provides access to DecimalFormatSymbols
instances for locales supported by the Java runtime itself as well as for those supported by installed DecimalFormatSymbolsProvider
implementations. 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
- iflocale
is null - Since:
- 1.6
getZeroDigit
public char getZeroDigit()
Gets the character used for zero. Different for Arabic, etc.
- Returns:
- the character used for zero
setZeroDigit
public void setZeroDigit(char zeroDigit)
Sets the character used for zero. Different for Arabic, etc.
- Parameters:
-
zeroDigit
- the character used for zero
getGroupingSeparator
public char getGroupingSeparator()
Gets the character used for thousands separator. Different for French, etc.
- Returns:
- the grouping separator
setGroupingSeparator
public void setGroupingSeparator(char groupingSeparator)
Sets the character used for thousands separator. Different for French, etc.
- Parameters:
-
groupingSeparator
- the grouping separator
getDecimalSeparator
public char getDecimalSeparator()
Gets the character used for decimal sign. Different for French, etc.
- Returns:
- the character used for decimal sign
setDecimalSeparator
public void setDecimalSeparator(char decimalSeparator)
Sets the character used for decimal sign. Different for French, etc.
- Parameters:
-
decimalSeparator
- the character used for decimal sign
getPerMill
public char getPerMill()
Gets the character used for per mille sign. Different for Arabic, etc.
- Returns:
- the character used for per mille sign
setPerMill
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
getPercent
public char getPercent()
Gets the character used for percent sign. Different for Arabic, etc.
- Returns:
- the character used for percent sign
setPercent
public void setPercent(char percent)
Sets the character used for percent sign. Different for Arabic, etc.
- Parameters:
-
percent
- the character used for percent sign
getDigit
public char getDigit()
Gets the character used for a digit in a pattern.
- Returns:
- the character used for a digit in a pattern
setDigit
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
getPatternSeparator
public char getPatternSeparator()
Gets the character used to separate positive and negative subpatterns in a pattern.
- Returns:
- the pattern separator
setPatternSeparator
public void setPatternSeparator(char patternSeparator)
Sets the character used to separate positive and negative subpatterns in a pattern.
- Parameters:
-
patternSeparator
- the pattern separator
getInfinity
public String getInfinity()
Gets the string used to represent infinity. Almost always left unchanged.
- Returns:
- the string representing infinity
setInfinity
public void setInfinity(String infinity)
Sets the string used to represent infinity. Almost always left unchanged.
- Parameters:
-
infinity
- the string representing infinity
getNaN
public String getNaN()
Gets the string used to represent "not a number". Almost always left unchanged.
- Returns:
- the string representing "not a number"
setNaN
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"
getMinusSign
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
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 character representing minus sign
getCurrencySymbol
public String getCurrencySymbol()
Returns the currency symbol for the currency of these DecimalFormatSymbols in their locale.
- Returns:
- the currency symbol
- Since:
- 1.2
setCurrencySymbol
public void setCurrencySymbol(String currency)
Sets the currency symbol for the currency of these DecimalFormatSymbols in their locale.
- Parameters:
-
currency
- the currency symbol - Since:
- 1.2
getInternationalCurrencySymbol
public String getInternationalCurrencySymbol()
Returns the ISO 4217 currency code of the currency of these DecimalFormatSymbols.
- Returns:
- the currency code
- Since:
- 1.2
setInternationalCurrencySymbol
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 - Since:
- 1.2
- See Also:
-
setCurrency(java.util.Currency)
,setCurrencySymbol(java.lang.String)
getCurrency
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
- Since:
- 1.4
setCurrency
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
- ifcurrency
is null - Since:
- 1.4
- See Also:
-
setCurrencySymbol(java.lang.String)
,setInternationalCurrencySymbol(java.lang.String)
getMonetaryDecimalSeparator
public char getMonetaryDecimalSeparator()
Returns the monetary decimal separator.
- Returns:
- the monetary decimal separator
- Since:
- 1.2
setMonetaryDecimalSeparator
public void setMonetaryDecimalSeparator(char sep)
Sets the monetary decimal separator.
- Parameters:
-
sep
- the monetary decimal separator - Since:
- 1.2
getExponentSeparator
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
- Since:
- 1.6
- See Also:
setExponentSeparator(java.lang.String)
setExponentSeparator
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
- ifexp
is null - Since:
- 1.6
- See Also:
getExponentSeparator()
clone
public Object clone()
Standard override.
equals
public boolean equals(Object obj)
Override equals.
- Overrides:
-
equals
in classObject
- Parameters:
-
obj
- the reference object with which to compare. - Returns:
-
true
if this object is the same as the obj argument;false
otherwise. - See Also:
-
Object.hashCode()
,HashMap
hashCode
public int hashCode()
Override hashCode.
- Overrides:
-
hashCode
in classObject
- Returns:
- a hash code value for this object.
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)