# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Ctors | Methods | Inherited Methods

# DecimalFormatSymbols

`public class DecimalFormatSymbols`
`extends Object` `implements Cloneable, Serializable`

java.lang.Object
↳ | android.icu.text.DecimalFormatSymbols

[icu enhancement] ICU's replacement for `DecimalFormatSymbols`. Methods, fields, and other functionality specific to ICU are labeled '[icu]'. 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:

- `Locale`
- `DecimalFormat`

## Summary

### Constants
`int` | `CURRENCY_SPC_CURRENCY_MATCH` [icu] Indicates the currency match pattern used in `getPatternForCurrencySpacing(int, boolean)`.
`int` | `CURRENCY_SPC_INSERT` [icu] Indicates the insertion value used in `getPatternForCurrencySpacing(int, boolean)`.
`int` | `CURRENCY_SPC_SURROUNDING_MATCH` [icu] Indicates the surrounding match pattern used in `getPatternForCurrencySpacing(int, boolean)`.

### Public constructors
`DecimalFormatSymbols()` Creates a DecimalFormatSymbols object for the default `FORMAT` locale.
`DecimalFormatSymbols(Locale locale)` Creates a DecimalFormatSymbols object for the given locale.
`DecimalFormatSymbols(ULocale locale)` [icu] Creates a DecimalFormatSymbols object for the given locale.

### Public methods
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`static DecimalFormatSymbols` | `forNumberingSystem(ULocale locale, NumberingSystem ns)` [icu] Returns a DecimalFormatSymbols instance for the given locale with digits and symbols corresponding to the given `NumberingSystem`.
`static DecimalFormatSymbols` | `forNumberingSystem(Locale locale, NumberingSystem ns)` [icu] Returns a DecimalFormatSymbols instance for the given locale with digits and symbols corresponding to the given `NumberingSystem`.
`static Locale[]` | `getAvailableLocales()` Returns an array of all locales for which the `getInstance` methods of this class can return localized instances.
`Currency` | `getCurrency()` Returns the currency symbol, for `DecimalFormatSymbols#getCurrency()` API compatibility only.
`String` | `getCurrencySymbol()` Returns the string denoting the local currency.
`char` | `getDecimalSeparator()` Returns the character used for decimal sign.
`String` | `getDecimalSeparatorString()` [icu] Returns the string used for decimal sign.
`char` | `getDigit()` Returns the character used for a digit in a pattern.
`String[]` | `getDigitStrings()` [icu] Returns the array of strings used as digits, in order from 0 through 9
`char[]` | `getDigits()` Returns the array of characters used as digits, in order from 0 through 9
`String` | `getExponentMultiplicationSign()` Returns the multiplication sign
`String` | `getExponentSeparator()` [icu] Returns the string used to separate the mantissa from the exponent.
`char` | `getGroupingSeparator()` Returns the character used for grouping separator.
`String` | `getGroupingSeparatorString()` [icu] Returns the string used for grouping separator.
`String` | `getInfinity()` Returns the String used to represent infinity.
`static DecimalFormatSymbols` | `getInstance()` Returns a DecimalFormatSymbols instance for the default locale.
`static DecimalFormatSymbols` | `getInstance(Locale locale)` Returns a DecimalFormatSymbols instance for the given locale.
`static DecimalFormatSymbols` | `getInstance(ULocale locale)` Returns a DecimalFormatSymbols instance for the given locale.
`String` | `getInternationalCurrencySymbol()` Returns the international string denoting the local currency.
`Locale` | `getLocale()` Returns the locale for which this object was constructed.
`char` | `getMinusSign()` Returns the character used to represent minus sign.
`String` | `getMinusSignString()` [icu] Returns the string used to represent minus sign.
`char` | `getMonetaryDecimalSeparator()` Returns the monetary decimal separator.
`String` | `getMonetaryDecimalSeparatorString()` [icu] Returns the monetary decimal separator string.
`char` | `getMonetaryGroupingSeparator()` [icu] Returns the monetary grouping separator.
`String` | `getMonetaryGroupingSeparatorString()` [icu] Returns the monetary grouping separator.
`String` | `getNaN()` Returns the String used to represent NaN.
`char` | `getPadEscape()` [icu] Returns the character used to pad numbers out to a specified width.
`String` | `getPatternForCurrencySpacing(int itemType, boolean beforeCurrency)` [icu] Returns the desired currency spacing value.
`char` | `getPatternSeparator()` Returns the character used to separate positive and negative subpatterns in a pattern.
`char` | `getPerMill()` Returns the character used for mille percent sign.
`String` | `getPerMillString()` [icu] Returns the string used for permille sign.
`char` | `getPercent()` Returns the character used for percent sign.
`String` | `getPercentString()` [icu] Returns the string used for percent sign.
`char` | `getPlusSign()` [icu] Returns the localized plus sign.
`String` | `getPlusSignString()` [icu] Returns the string used to represent plus sign.
`char` | `getSignificantDigit()` Returns the character used to represent a significant digit in a pattern.
`ULocale` | `getULocale()` Returns the locale for which this object was constructed.
`char` | `getZeroDigit()` Returns the character used for zero.
`int` | `hashCode()` Returns a hash code value for the object.
`void` | `setCurrency(Currency currency)` Sets the currency.
`void` | `setCurrencySymbol(String currency)` Sets the string denoting the local currency.
`void` | `setDecimalSeparator(char decimalSeparator)` Sets the character used for decimal sign.
`void` | `setDecimalSeparatorString(String decimalSeparatorString)` [icu] Sets the string used for decimal sign.
`void` | `setDigit(char digit)` Sets the character used for a digit in a pattern.
`void` | `setDigitStrings(String[] digitStrings)` [icu] Sets the array of strings used as digits, in order from 0 through 9 Note: When the input array of digit strings contains any strings represented by multiple Java chars, then `getDigits()` will return the default digits ('0' - '9') and `getZeroDigit()` will return the default zero digit ('0').
`void` | `setExponentMultiplicationSign(String exponentMultiplicationSign)` Sets the multiplication sign
`void` | `setExponentSeparator(String exp)` [icu] Sets the string used to separate the mantissa from the exponent.
`void` | `setGroupingSeparator(char groupingSeparator)` Sets the character used for grouping separator.
`void` | `setGroupingSeparatorString(String groupingSeparatorString)` [icu] Sets the string used for grouping separator.
`void` | `setInfinity(String infinity)` Sets the String used to represent infinity.
`void` | `setInternationalCurrencySymbol(String currency)` Sets the international string denoting the local currency.
`void` | `setMinusSign(char minusSign)` Sets the character used to represent minus sign.
`void` | `setMinusSignString(String minusSignString)` [icu] Sets the string used to represent minus sign.
`void` | `setMonetaryDecimalSeparator(char sep)` Sets the monetary decimal separator.
`void` | `setMonetaryDecimalSeparatorString(String sep)` [icu] Sets the monetary decimal separator string.
`void` | `setMonetaryGroupingSeparator(char sep)` [icu] Sets the monetary grouping separator.
`void` | `setMonetaryGroupingSeparatorString(String sep)` [icu] Sets the monetary grouping separator string.
`void` | `setNaN(String NaN)` Sets the String used to represent NaN.
`void` | `setPadEscape(char c)` [icu] Sets the character used to pad numbers out to a specified width.
`void` | `setPatternForCurrencySpacing(int itemType, boolean beforeCurrency, String pattern)` [icu] Sets the indicated currency spacing pattern or value.
`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 mille percent sign.
`void` | `setPerMillString(String perMillString)` [icu] Sets the string used for permille sign.
`void` | `setPercent(char percent)` Sets the character used for percent sign.
`void` | `setPercentString(String percentString)` [icu] Sets the string used for percent sign.
`void` | `setPlusSign(char plus)` [icu] Sets the localized plus sign.
`void` | `setPlusSignString(String plusSignString)` [icu] Sets the localized plus sign string.
`void` | `setSignificantDigit(char sigDigit)` Sets the character used to represent a significant digit in a pattern.
`void` | `setZeroDigit(char zeroDigit)` Sets the character used for zero.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Constants

### CURRENCY_SPC_CURRENCY_MATCH

    public static final int CURRENCY_SPC_CURRENCY_MATCH

[icu] Indicates the currency match pattern used in `getPatternForCurrencySpacing(int, boolean)`.

Constant Value: 0 (0x00000000)

### CURRENCY_SPC_INSERT

    public static final int CURRENCY_SPC_INSERT

[icu] Indicates the insertion value used in `getPatternForCurrencySpacing(int, boolean)`.

Constant Value: 2 (0x00000002)

### CURRENCY_SPC_SURROUNDING_MATCH

    public static final int CURRENCY_SPC_SURROUNDING_MATCH

[icu] Indicates the surrounding match pattern used in `getPatternForCurrencySpacing(int, boolean)`.

Constant Value: 1 (0x00000001)

## Public constructors

### DecimalFormatSymbols

    public DecimalFormatSymbols ()

Creates a DecimalFormatSymbols object for the default `FORMAT` locale.

See also:

- `ULocale.Category.FORMAT`

### DecimalFormatSymbols

    public DecimalFormatSymbols (Locale locale)

Creates a DecimalFormatSymbols object for the given locale.

Parameters
`locale` | `Locale`: the locale

### DecimalFormatSymbols

    public DecimalFormatSymbols (ULocale locale)

[icu] Creates a DecimalFormatSymbols object for the given locale.

Parameters
`locale` | `ULocale`: the locale

## Public methods

### clone

    public Object clone ()

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object `x`, the expression:

>      x.clone() != x

will be true, and that the expression:

>      x.clone().getClass() == x.getClass()

will be `true`, but these are not absolute requirements. While it is typically the case that:

>      x.clone().equals(x)

will be `true`, this is not an absolute requirement.

By convention, the returned object should be obtained by calling `super.clone`. If a class and all of its superclasses (except `Object`) obey this convention, it will be the case that `x.clone().getClass() == x.getClass()`.

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by `super.clone` before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by `super.clone` need to be modified.

The method `clone` for class `Object` performs a specific cloning operation. First, if the class of this object does not implement the interface `Cloneable`, then a `CloneNotSupportedException` is thrown. Note that all arrays are considered to implement the interface `Cloneable` and that the return type of the `clone` method of an array type `T[]` is `T[]` where T is any reference or primitive type. Otherwise, this method creates a new instance of the class of this object and initializes all its fields with exactly the contents of the corresponding fields of this object, as if by assignment; the contents of the fields are not themselves cloned. Thus, this method performs a "shallow copy" of this object, not a "deep copy" operation.

The class `Object` does not itself implement the interface `Cloneable`, so calling the `clone` method on an object whose class is `Object` will result in throwing an exception at run time.

Returns
`Object` | a clone of this instance.

### equals

    public boolean equals (Object obj)

Indicates whether some other object is "equal to" this one.

The `equals` method implements an equivalence relation on non-null object references:

- It is reflexive: for any non-null reference value `x`, `x.equals(x)` should return `true`.
- It is symmetric: for any non-null reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is transitive: for any non-null reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
- It is consistent: for any non-null reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`, provided no information used in `equals` comparisons on the objects is modified.
- For any non-null reference value `x`, `x.equals(null)` should return `false`.

The `equals` method for class `Object` implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values `x` and `y`, this method returns `true` if and only if `x` and `y` refer to the same object (`x == y` has the value `true`).

Note that it is generally necessary to override the `hashCode` method whenever this method is overridden, so as to maintain the general contract for the `hashCode` method, which states that equal objects must have equal hash codes.

Parameters
`obj` | `Object`: the reference object with which to compare.

Returns
`boolean` | `true` if this object is the same as the obj argument; `false` otherwise.

### forNumberingSystem

    public static DecimalFormatSymbols forNumberingSystem (ULocale locale,
                    NumberingSystem ns)

[icu] Returns a DecimalFormatSymbols instance for the given locale with digits and symbols corresponding to the given `NumberingSystem`.

This method behaves equivalently to `getInstance()` called with a locale having a "numbers=xxxx" keyword specifying the numbering system by name.

In this method, the NumberingSystem argument will be used even if the locale has its own "numbers=xxxx" keyword.

Parameters
`locale` | `ULocale`: the locale.
`ns` | `NumberingSystem`: the numbering system.

Returns
`DecimalFormatSymbols` | A DecimalFormatSymbols instance.

### forNumberingSystem

    public static DecimalFormatSymbols forNumberingSystem (Locale locale,
                    NumberingSystem ns)

[icu] Returns a DecimalFormatSymbols instance for the given locale with digits and symbols corresponding to the given `NumberingSystem`.

This method behaves equivalently to `getInstance()` called with a locale having a "numbers=xxxx" keyword specifying the numbering system by name.

In this method, the NumberingSystem argument will be used even if the locale has its own "numbers=xxxx" keyword.

Parameters
`locale` | `Locale`: the locale.
`ns` | `NumberingSystem`: the numbering system.

Returns
`DecimalFormatSymbols` | A DecimalFormatSymbols instance.

### getAvailableLocales

    public static Locale[] getAvailableLocales ()

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

Note: Unlike `java.text.DecimalFormatSymbols#getAvailableLocales`, this method simply returns the array of `Locale`s available for this class. ICU currently does not support `DecimalFormatSymbolsProvider`, which was introduced in Java 6.

Returns
`Locale[]` | An array of `Locale`s for which localized `DecimalFormatSymbols` instances are available.

### getCurrency

    public Currency getCurrency ()

Returns the currency symbol, for `DecimalFormatSymbols#getCurrency()` API compatibility only. ICU clients should use the Currency API directly.

Returns
`Currency` | the currency used, or null

### getCurrencySymbol

    public String getCurrencySymbol ()

Returns the string denoting the local currency.

Returns
`String` | the local currency String.

### getDecimalSeparator

    public char getDecimalSeparator ()

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

Returns
`char` | the decimal character

### getDecimalSeparatorString

    public String getDecimalSeparatorString ()

[icu] Returns the string used for decimal sign.

Returns
`String` | the decimal sign string

See also:

- `setDecimalSeparatorString(String)`

### getDigit

    public char getDigit ()

Returns the character used for a digit in a pattern.

Returns
`char` | the digit pattern character

### getDigitStrings

    public String[] getDigitStrings ()

[icu] Returns the array of strings used as digits, in order from 0 through 9

Returns
`String[]` | The array of ten digit strings

See also:

- `setDigitStrings(String[])`

### getDigits

    public char[] getDigits ()

Returns the array of characters used as digits, in order from 0 through 9

Returns
`char[]` | The array

### getExponentMultiplicationSign

    public String getExponentMultiplicationSign ()

Returns the multiplication sign

Returns
`String` |

### getExponentSeparator

    public String getExponentSeparator ()

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

Returns
`String` | the localized exponent symbol, used in localized patterns and formatted strings

See also:

- `setExponentSeparator(String)`

### getGroupingSeparator

    public char getGroupingSeparator ()

Returns the character used for grouping separator. Different for French, etc.

Returns
`char` | the thousands character

### getGroupingSeparatorString

    public String getGroupingSeparatorString ()

[icu] Returns the string used for grouping separator. Different for French, etc.

Returns
`String` | the grouping separator string

See also:

- `setGroupingSeparatorString(String)`

### getInfinity

    public String getInfinity ()

Returns the String used to represent infinity. Almost always left unchanged.

Returns
`String` | the Infinity string

### getInstance

    public static DecimalFormatSymbols getInstance ()

Returns a DecimalFormatSymbols instance for the default locale.

Note: Unlike `java.text.DecimalFormatSymbols#getInstance`, this method simply returns `new android.icu.text.DecimalFormatSymbols()`. ICU currently does not support `DecimalFormatSymbolsProvider`, which was introduced in Java 6.

Returns
`DecimalFormatSymbols` | A DecimalFormatSymbols instance.

### getInstance

    public static DecimalFormatSymbols getInstance (Locale locale)

Returns a DecimalFormatSymbols instance for the given locale.

Note: Unlike `java.text.DecimalFormatSymbols#getInstance`, this method simply returns `new android.icu.text.DecimalFormatSymbols(locale)`. ICU currently does not support `DecimalFormatSymbolsProvider`, which was introduced in Java 6.

Parameters
`locale` | `Locale`: the locale.

Returns
`DecimalFormatSymbols` | A DecimalFormatSymbols instance.

### getInstance

    public static DecimalFormatSymbols getInstance (ULocale locale)

Returns a DecimalFormatSymbols instance for the given locale.

Note: Unlike `java.text.DecimalFormatSymbols#getInstance`, this method simply returns `new android.icu.text.DecimalFormatSymbols(locale)`. ICU currently does not support `DecimalFormatSymbolsProvider`, which was introduced in Java 6.

Parameters
`locale` | `ULocale`: the locale.

Returns
`DecimalFormatSymbols` | A DecimalFormatSymbols instance.

### getInternationalCurrencySymbol

    public String getInternationalCurrencySymbol ()

Returns the international string denoting the local currency.

Returns
`String` | the international string denoting the local currency

### getLocale

    public Locale getLocale ()

Returns the locale for which this object was constructed.

Returns
`Locale` | the locale for which this object was constructed

### getMinusSign

    public char getMinusSign ()

Returns 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
`char` | the minus sign character

### getMinusSignString

    public String getMinusSignString ()

[icu] Returns the string used to represent minus sign.

Returns
`String` | the minus sign string

See also:

- `setMinusSignString(String)`

### getMonetaryDecimalSeparator

    public char getMonetaryDecimalSeparator ()

Returns the monetary decimal separator.

Returns
`char` | the monetary decimal separator character

### getMonetaryDecimalSeparatorString

    public String getMonetaryDecimalSeparatorString ()

[icu] Returns the monetary decimal separator string.

Returns
`String` | the monetary decimal separator string

See also:

- `setMonetaryDecimalSeparatorString(String)`

### getMonetaryGroupingSeparator

    public char getMonetaryGroupingSeparator ()

[icu] Returns the monetary grouping separator.

Returns
`char` | the monetary grouping separator character

### getMonetaryGroupingSeparatorString

    public String getMonetaryGroupingSeparatorString ()

[icu] Returns the monetary grouping separator.

Returns
`String` | the monetary grouping separator string

See also:

- `setMonetaryGroupingSeparatorString(String)`

### getNaN

    public String getNaN ()

Returns the String used to represent NaN. Almost always left unchanged.

Returns
`String` | the NaN String

### getPadEscape

    public char getPadEscape ()

[icu] Returns the character used to pad numbers out to a specified width. This is not the pad character itself; rather, it is the special pattern character preceding the pad character. In the pattern "*_#,##0", '*' is the pad escape, and '_' is the pad character.

Returns
`char` | the character

See also:

- `setPadEscape(char)`
- `DecimalFormat.getFormatWidth()`
- `DecimalFormat.getPadPosition()`
- `DecimalFormat.getPadCharacter()`

### getPatternForCurrencySpacing

    public String getPatternForCurrencySpacing (int itemType,
                    boolean beforeCurrency)

[icu] Returns the desired currency spacing value. Original values come from ICU's CLDR data based on the locale provided during construction, and can be null. These values govern what and when text is inserted between a currency code/name/symbol and the currency amount when formatting money.

For more information, see UTS#35 section 5.10.2.

Parameters
`itemType` | `int`: one of CURRENCY_SPC_CURRENCY_MATCH, CURRENCY_SPC_SURROUNDING_MATCH or CURRENCY_SPC_INSERT
`beforeCurrency` | `boolean`: true to get the `beforeCurrency` values, false to get the `afterCurrency` values.

Returns
`String` | the value, or null.

See also:

- `setPatternForCurrencySpacing(int, boolean, String)`

### getPatternSeparator

    public char getPatternSeparator ()

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

Returns
`char` | the pattern separator character

### getPerMill

    public char getPerMill ()

Returns the character used for mille percent sign. Different for Arabic, etc.

Returns
`char` | the mille percent character

### getPerMillString

    public String getPerMillString ()

[icu] Returns the string used for permille sign.

Returns
`String` | the permille string

See also:

- `setPerMillString(String)`

### getPercent

    public char getPercent ()

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

Returns
`char` | the percent character

### getPercentString

    public String getPercentString ()

[icu] Returns the string used for percent sign.

Returns
`String` | the percent string

See also:

- `setPercentString(String)`

### getPlusSign

    public char getPlusSign ()

[icu] Returns the localized plus sign.

Returns
`char` | the plus sign, used in localized patterns and formatted strings

See also:

- `setPlusSign(char)`
- `setMinusSign(char)`
- `getMinusSign()`

### getPlusSignString

    public String getPlusSignString ()

[icu] Returns the string used to represent plus sign.

Returns
`String` | the plus sign string

### getSignificantDigit

    public char getSignificantDigit ()

Returns the character used to represent a significant digit in a pattern.

Returns
`char` | the significant digit pattern character

### getULocale

    public ULocale getULocale ()

Returns the locale for which this object was constructed.

Returns
`ULocale` | the locale for which this object was constructed

### getZeroDigit

    public char getZeroDigit ()

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

Returns
`char` | the character

### hashCode

    public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by `HashMap`.

The general contract of `hashCode` is:

- Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer, provided no information used in `equals` comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
- If two objects are equal according to the `equals(Object)` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.
- It is not required that if two objects are unequal according to the `equals(java.lang.Object)` method, then calling the `hashCode` method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

As much as is reasonably practical, the hashCode method defined by class `Object` does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

Returns
`int` | a hash code value for this object.

### setCurrency

    public void setCurrency (Currency currency)

Sets the currency.

Note: ICU does not use the DecimalFormatSymbols for the currency any more. This API is present for API compatibility only.

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` | `Currency`: the new currency to be used

Throws
`NullPointerException` | if `currency` is null

See also:

- `setCurrencySymbol(String)`
- `setInternationalCurrencySymbol(String)`

### setCurrencySymbol

    public void setCurrencySymbol (String currency)

Sets the string denoting the local currency.

Parameters
`currency` | `String`: the local currency String.

### setDecimalSeparator

    public void setDecimalSeparator (char decimalSeparator)

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

Parameters
`decimalSeparator` | `char`: the decimal character

### setDecimalSeparatorString

    public void setDecimalSeparatorString (String decimalSeparatorString)

[icu] Sets the string used for decimal sign.

Note: When the input decimal separator String is represented by multiple Java chars, then `getDecimalSeparator()` will return the default decimal separator character ('.').

Parameters
`decimalSeparatorString` | `String`: the decimal sign string

Throws
`NullPointerException` | if `decimalSeparatorString` is null.

See also:

- `getDecimalSeparatorString()`

### setDigit

    public void setDigit (char digit)

Sets the character used for a digit in a pattern.

Parameters
`digit` | `char`: the digit pattern character

### setDigitStrings

    public void setDigitStrings (String[] digitStrings)

[icu] Sets the array of strings used as digits, in order from 0 through 9

Note:

When the input array of digit strings contains any strings represented by multiple Java chars, then `getDigits()` will return the default digits ('0' - '9') and `getZeroDigit()` will return the default zero digit ('0').

Parameters
`digitStrings` | `String`: The array of digit strings. The length of the array must be exactly 10.

Throws
`NullPointerException` | if the `digitStrings` is null.
`IllegalArgumentException` | if the length of the array is not 10.

See also:

- `getDigitStrings()`

### setExponentMultiplicationSign

    public void setExponentMultiplicationSign (String exponentMultiplicationSign)

Sets the multiplication sign

Parameters
`exponentMultiplicationSign` | `String`

### setExponentSeparator

    public void setExponentSeparator (String exp)

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

Parameters
`exp` | `String`: the localized exponent symbol, used in localized patterns and formatted strings

See also:

- `getExponentSeparator()`

### setGroupingSeparator

    public void setGroupingSeparator (char groupingSeparator)

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

Parameters
`groupingSeparator` | `char`: the thousands character

### setGroupingSeparatorString

    public void setGroupingSeparatorString (String groupingSeparatorString)

[icu] Sets the string used for grouping separator.

Note: When the input grouping separator String is represented by multiple Java chars, then `getGroupingSeparator()` will return the default grouping separator character (',').

Parameters
`groupingSeparatorString` | `String`: the grouping separator string

Throws
`NullPointerException` | if `groupingSeparatorString` is null.

See also:

- `getGroupingSeparatorString()`

### setInfinity

    public void setInfinity (String infinity)

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

Parameters
`infinity` | `String`: the Infinity String

### setInternationalCurrencySymbol

    public void setInternationalCurrencySymbol (String currency)

Sets the international string denoting the local currency.

Parameters
`currency` | `String`: the international string denoting the local currency.

### 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` | `char`: the minus sign character

### setMinusSignString

    public void setMinusSignString (String minusSignString)

[icu] Sets the string used to represent minus sign.

Note: When the input minus sign String is represented by multiple Java chars, then `getMinusSign()` will return the default minus sign character ('-').

Parameters
`minusSignString` | `String`: the minus sign string

Throws
`NullPointerException` | if `minusSignString` is null.

See also:

- `getGroupingSeparatorString()`

### setMonetaryDecimalSeparator

    public void setMonetaryDecimalSeparator (char sep)

Sets the monetary decimal separator.

Parameters
`sep` | `char`: the monetary decimal separator character

### setMonetaryDecimalSeparatorString

    public void setMonetaryDecimalSeparatorString (String sep)

[icu] Sets the monetary decimal separator string.

Note: When the input monetary decimal separator String is represented by multiple Java chars, then `getMonetaryDecimalSeparatorString()` will return the default monetary decimal separator character ('.').

Parameters
`sep` | `String`: the monetary decimal separator string

Throws
`NullPointerException` | if `sep` is null.

See also:

- `getMonetaryDecimalSeparatorString()`

### setMonetaryGroupingSeparator

    public void setMonetaryGroupingSeparator (char sep)

[icu] Sets the monetary grouping separator.

Parameters
`sep` | `char`: the monetary grouping separator character

### setMonetaryGroupingSeparatorString

    public void setMonetaryGroupingSeparatorString (String sep)

[icu] Sets the monetary grouping separator string.

Note: When the input grouping separator String is represented by multiple Java chars, then `getMonetaryGroupingSeparator()` will return the default monetary grouping separator character (',').

Parameters
`sep` | `String`: the monetary grouping separator string

Throws
`NullPointerException` | if `sep` is null.

See also:

- `getMonetaryGroupingSeparatorString()`

### setNaN

    public void setNaN (String NaN)

Sets the String used to represent NaN. Almost always left unchanged.

Parameters
`NaN` | `String`: the NaN String

### setPadEscape

    public void setPadEscape (char c)

[icu] Sets the character used to pad numbers out to a specified width. This is not the pad character itself; rather, it is the special pattern character preceding the pad character. In the pattern "*_#,##0", '*' is the pad escape, and '_' is the pad character.

Parameters
`c` | `char`

See also:

- `getPadEscape()`
- `DecimalFormat.setFormatWidth(int)`
- `DecimalFormat.setPadPosition(int)`
- `DecimalFormat.setPadCharacter(char)`

### setPatternForCurrencySpacing

    public void setPatternForCurrencySpacing (int itemType,
                    boolean beforeCurrency,
                    String pattern)

[icu] Sets the indicated currency spacing pattern or value. See `getPatternForCurrencySpacing(int, boolean)` for more information.

Values for currency match and surrounding match must be `UnicodeSet` patterns. Values for insert can be any string.

Note: ICU4J does not currently use this information.

Parameters
`itemType` | `int`: one of CURRENCY_SPC_CURRENCY_MATCH, CURRENCY_SPC_SURROUNDING_MATCH or CURRENCY_SPC_INSERT
`beforeCurrency` | `boolean`: true if the pattern is for before the currency symbol. false if the pattern is for after it.
`pattern` | `String`: string to override current setting; can be null.

See also:

- `getPatternForCurrencySpacing(int, boolean)`

### setPatternSeparator

    public void setPatternSeparator (char patternSeparator)

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

Parameters
`patternSeparator` | `char`: the pattern separator character

### setPerMill

    public void setPerMill (char perMill)

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

Parameters
`perMill` | `char`: the mille percent character

### setPerMillString

    public void setPerMillString (String perMillString)

[icu] Sets the string used for permille sign.

Note: When the input permille String is represented by multiple Java chars, then `getPerMill()` will return the default permille character ('‰').

Parameters
`perMillString` | `String`: the permille string

Throws
`NullPointerException` | if `perMillString` is null.

See also:

- `getPerMillString()`

### setPercent

    public void setPercent (char percent)

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

Parameters
`percent` | `char`: the percent character

### setPercentString

    public void setPercentString (String percentString)

[icu] Sets the string used for percent sign.

Note: When the input grouping separator String is represented by multiple Java chars, then `getPercent()` will return the default percent sign character ('%').

Parameters
`percentString` | `String`: the percent string

Throws
`NullPointerException` | if `percentString` is null.

See also:

- `getPercentString()`

### setPlusSign

    public void setPlusSign (char plus)

[icu] Sets the localized plus sign.

Parameters
`plus` | `char`: the plus sign, used in localized patterns and formatted strings

See also:

- `getPlusSign()`
- `setMinusSign(char)`
- `getMinusSign()`

### setPlusSignString

    public void setPlusSignString (String plusSignString)

[icu] Sets the localized plus sign string.

Note: When the input plus sign String is represented by multiple Java chars, then `getPlusSign()` will return the default plus sign character ('+').

Parameters
`plusSignString` | `String`: the plus sign string, used in localized patterns and formatted strings

Throws
`NullPointerException` | if `plusSignString` is null.

See also:

- `getPlusSignString()`

### setSignificantDigit

    public void setSignificantDigit (char sigDigit)

Sets the character used to represent a significant digit in a pattern.

Parameters
`sigDigit` | `char`: the significant digit pattern character

### setZeroDigit

    public void setZeroDigit (char zeroDigit)

Sets the character used for zero.

Note: This method propagates digit 1 to digit 9 by incrementing code point one by one.

Parameters
`zeroDigit` | `char`: the zero character.

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*