Module java.base
Package java.text

Class 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 Detail

      • 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 - if locale 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​(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 - if locale 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
      • 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 - if exp is null
        Since:
        1.6
        See Also:
        getExponentSeparator()
      • clone

        public Object clone()
        Standard override.
        Overrides:
        clone in class Object
        Returns:
        a clone of this instance.
        See Also:
        Cloneable
      • equals

        public boolean equals​(Object obj)
        Override equals.
        Overrides:
        equals in class Object
        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