java.lang.Object
java.text.DecimalFormatSymbols
- All Implemented Interfaces:
Serializable
,Cloneable
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:
-
Constructor Summary
ConstructorDescriptionCreate a DecimalFormatSymbols object for the defaultFORMAT
locale.DecimalFormatSymbols
(Locale locale) Create a DecimalFormatSymbols object for the given locale. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Standard override.boolean
Compares the specified object with thisDecimalFormatSymbols
for equality.static Locale[]
Returns an array of all locales for which thegetInstance
methods of this class can return localized instances.Gets the currency of these DecimalFormatSymbols.Returns the currency symbol for the currency of these DecimalFormatSymbols in their locale.char
Gets the character used for decimal sign.char
getDigit()
Gets the character used for a digit in a pattern.Returns the string used to separate the mantissa from the exponent.char
Gets the character used for grouping separator.Gets the string used to represent infinity.static final DecimalFormatSymbols
Gets theDecimalFormatSymbols
instance for the default locale.static final DecimalFormatSymbols
getInstance
(Locale locale) Gets theDecimalFormatSymbols
instance for the specified locale.Returns the ISO 4217 currency code of the currency of these DecimalFormatSymbols.Returns locale used to create this instance.char
Gets the character used to represent minus sign.char
Returns the monetary decimal separator.char
Gets the character used for grouping separator for currencies.getNaN()
Gets the string used to represent "not a number".char
Gets the character used to separate positive and negative subpatterns in a pattern.char
Gets the character used for percent sign.char
Gets the character used for per mille sign.char
Gets the character used for zero.int
hashCode()
Returns the hash code for thisDecimalFormatSymbols
.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
Sets the string used to separate the mantissa from the exponent.void
setGroupingSeparator
(char groupingSeparator) Sets the character used for grouping 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
setMonetaryGroupingSeparator
(char monetaryGroupingSeparator) Sets the character used for grouping separator for currencies.void
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.
-
Constructor Details
-
DecimalFormatSymbols
public DecimalFormatSymbols()Create a DecimalFormatSymbols object for the defaultFORMAT
locale. This constructor can only construct instances for the locales supported by the Java runtime environment, not for those supported by installedDecimalFormatSymbolsProvider
implementations. For full locale coverage, use thegetInstance
method.This is equivalent to calling
DecimalFormatSymbols(Locale.getDefault(Locale.Category.FORMAT))
.- See Also:
-
DecimalFormatSymbols
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 installedDecimalFormatSymbolsProvider
implementations. For full locale coverage, use thegetInstance
method. If the specified locale contains theLocale.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 aNumberFormat
instance with the Thai numbering system, instead of the Latin numbering system.- Parameters:
locale
- the desired locale- Throws:
NullPointerException
- iflocale
is null
-
-
Method Details
-
getAvailableLocales
Returns an array of all locales for which thegetInstance
methods of this class can return localized instances. The returned array represents the union of locales supported by the Java runtime and by installedDecimalFormatSymbolsProvider
implementations. At a minimum, the returned array must contain aLocale
instance equal toLocale.ROOT
and aLocale
instance equal toLocale.US
.- Returns:
- an array of locales for which localized
DecimalFormatSymbols
instances are available. - Since:
- 1.6
-
getInstance
Gets theDecimalFormatSymbols
instance for the default locale. This method provides access toDecimalFormatSymbols
instances for locales supported by the Java runtime itself as well as for those supported by installedDecimalFormatSymbolsProvider
implementations.This is equivalent to calling
getInstance(Locale.getDefault(Locale.Category.FORMAT))
.- Returns:
- a
DecimalFormatSymbols
instance. - Since:
- 1.6
- See Also:
-
getInstance
Gets theDecimalFormatSymbols
instance for the specified locale. This method provides access toDecimalFormatSymbols
instances for locales supported by the Java runtime itself as well as for those supported by installedDecimalFormatSymbolsProvider
implementations. If the specified locale contains theLocale.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 aNumberFormat
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
-
getLocale
Returns locale used to create this instance.- Returns:
- locale used to create this instance
- Since:
- 19
-
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 grouping separator. Different for French, etc.- Returns:
- the grouping separator
-
setGroupingSeparator
public void setGroupingSeparator(char groupingSeparator) Sets the character used for grouping 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
Gets the string used to represent infinity. Almost always left unchanged.- Returns:
- the string representing infinity
-
setInfinity
Sets the string used to represent infinity. Almost always left unchanged.- Parameters:
infinity
- the string representing infinity
-
getNaN
Gets the string used to represent "not a number". Almost always left unchanged.- Returns:
- the string representing "not a number"
-
setNaN
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
Returns the currency symbol for the currency of these DecimalFormatSymbols in their locale.- Returns:
- the currency symbol
- Since:
- 1.2
-
setCurrencySymbol
Sets the currency symbol for the currency of these DecimalFormatSymbols in their locale.- Parameters:
currency
- the currency symbol- Since:
- 1.2
-
getInternationalCurrencySymbol
Returns the ISO 4217 currency code of the currency of these DecimalFormatSymbols.- Returns:
- the currency code
- Since:
- 1.2
-
setInternationalCurrencySymbol
Sets the ISO 4217 currency code of the currency of these DecimalFormatSymbols. If the currency code is valid (as defined byCurrency.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:
-
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
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:
-
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
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
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:
-
getMonetaryGroupingSeparator
public char getMonetaryGroupingSeparator()Gets the character used for grouping separator for currencies. May be different fromgrouping separator
in some locales, e.g, German in Austria.- Returns:
- the monetary grouping separator
- Since:
- 15
-
setMonetaryGroupingSeparator
public void setMonetaryGroupingSeparator(char monetaryGroupingSeparator) Sets the character used for grouping separator for currencies. Invocation of this method will not affect the normalgrouping separator
.- Parameters:
monetaryGroupingSeparator
- the monetary grouping separator- Since:
- 15
- See Also:
-
clone
-
equals
Compares the specified object with thisDecimalFormatSymbols
for equality. Returns true if the object is also aDecimalFormatSymbols
and the twoDecimalFormatSymbols
objects represent the same set of symbols.- Overrides:
equals
in classObject
- Implementation Requirements:
- This method performs an equality check with a notion of class
identity based on
getClass()
, rather thaninstanceof
. Therefore, in the equals methods in subclasses, no instance of this class should compare as equal to an instance of a subclass. - Parameters:
obj
- object to be compared for equality- Returns:
true
if the specified object is equal to thisDecimalFormatSymbols
- See Also:
-
hashCode
public int hashCode()Returns the hash code for thisDecimalFormatSymbols
.- Overrides:
hashCode
in classObject
- Implementation Requirements:
- Non-transient instance fields of this class are used to calculate
a hash code value which adheres to the contract defined in
Objects.hashCode(java.lang.Object)
. - Returns:
- the hash code for this
DecimalFormatSymbols
- See Also:
-