AI-generated Key Takeaways
-
DecimalFormatSymbolscustomizes number formatting in Java using locale-sensitive symbols like decimal separators and currency signs. -
It provides methods to get and set individual symbols, allowing developers to control number representation.
-
The class supports locale-based instantiation and customization for internationalization.
-
DecimalFormatSymbolsis typically used withDecimalFormatfor comprehensive number formatting control.
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.
See Also
Public Constructor Summary
|
DecimalFormatSymbols()
Create a DecimalFormatSymbols object for the default
FORMAT locale. |
|
Public Method Summary
| Object |
clone()
Standard override.
|
| boolean | |
| 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 | |
| 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 | |
| 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 | |
| void |
setGroupingSeparator(char groupingSeparator)
Sets the character used for thousands separator.
|
| void | |
| 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 | |
| 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"))
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 boolean equals (Object obj)
Override equals.
Parameters
| obj | the object to compare this instance with. |
|---|
Returns
trueif the specified object is equal to thisObject;falseotherwise.
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
DecimalFormatSymbolsinstances 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
DecimalFormatSymbolsinstance.
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"))
NumberFormat instance with the Thai numbering system,
instead of the Latin numbering system.Parameters
| locale | the desired locale. |
|---|
Returns
- a
DecimalFormatSymbolsinstance.
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 |
|---|
See Also
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 |
|---|