Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Enums](https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy#enumconstants) \| [Methods](https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy#inhmethods)

# NumberFormatter.GroupingStrategy

*** ** * ** ***


`
public
static
final

enum
NumberFormatter.GroupingStrategy
`


`


`

`

extends https://developer.android.com/reference/java/lang/Enum<https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy>


`

`


`

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<[android.icu.number.NumberFormatter.GroupingStrategy](https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy)\> ||
|   | ↳ | android.icu.number.NumberFormatter.GroupingStrategy |

<br />

*** ** * ** ***

An enum declaring the strategy for when and how to display grouping separators (i.e., the
separator, often a comma or period, after every 2-3 powers of ten). The choices are several
pre-built strategies for different use cases that employ locale data whenever possible. Example
outputs for 1234 and 1234567 in *en-IN*:

- OFF: 1234 and 12345
- MIN2: 1234 and 12,34,567
- AUTO: 1,234 and 12,34,567
- ON_ALIGNED: 1,234 and 12,34,567
- THOUSANDS: 1,234 and 1,234,567


The default is AUTO, which displays grouping separators unless the locale data says that grouping
is not customary. To force grouping for all numbers greater than 1000 consistently across locales,
use ON_ALIGNED. On the other hand, to display grouping less frequently than the default, use MIN2
or OFF. See the docs of each option for details.


Note: This enum specifies the strategy for grouping sizes. To set which character to use as the
grouping separator, use the "symbols" setter.
**See also:**

- `https://developer.android.com/reference/android/icu/number/NumberFormatter`

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | `AUTO` Display grouping using the default strategy for all locales. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | `MIN2` Display grouping using locale defaults, except do not show grouping on values smaller than 10000 (such that there is a *minimum of two digits* before the first separator). |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | `OFF` Do not display grouping separators in any locale. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | `ON_ALIGNED` Always display the grouping separator on values of at least 1000. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | `THOUSANDS` Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | ` https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` |
| ` static final https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | ` https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy#values()() ` |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Enum

` `


final

https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Enum#clone()()
`

Throws CloneNotSupportedException.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#compareTo(E)(https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy o)
`

Compares this enum with the specified object for order.


`


final

boolean` `
https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object other)
`

Returns true if the specified object is equal to this
enum constant.


`


final

void` `
https://developer.android.com/reference/java/lang/Enum#finalize()()
`

enum classes cannot have finalize methods.


`


final

https://developer.android.com/reference/java/lang/Class<https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy>` `
https://developer.android.com/reference/java/lang/Enum#getDeclaringClass()()
`

Returns the Class object corresponding to this enum constant's
enum type.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#hashCode()()
`

Returns a hash code for this enum constant.


`


final

https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Enum#name()()
`

Returns the name of this enum constant, exactly as declared in its
enum declaration.


`


final

int` `
https://developer.android.com/reference/java/lang/Enum#ordinal()()
`

Returns the ordinal of this enumeration constant (its position
in its enum declaration, where the initial constant is assigned
an ordinal of zero).


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Enum#toString()()
`

Returns the name of this enum constant, as contained in the
declaration.


`


static

<T extends https://developer.android.com/reference/java/lang/Enum<T>>
T` `
https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String)(https://developer.android.com/reference/java/lang/Class<T> enumClass, https://developer.android.com/reference/java/lang/String name)
`

Returns the enum constant of the specified enum class with the
specified name.


From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

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


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


From interface `

https://developer.android.com/reference/java/lang/Comparable

` `
abstract


int` `
https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy o)
`

Compares this object with the specified object for order.


## Enum values

### AUTO

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final NumberFormatter.GroupingStrategy AUTO
```

Display grouping using the default strategy for all locales. This is the default behavior.


Note that locales may restrict grouping separators to be displayed only on 1 million or
greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).


Locale data is used to determine whether to separate larger numbers into groups of 2
(customary in South Asia) or groups of 3 (customary in Europe and the Americas).

<br />

**See also:**

- `https://developer.android.com/reference/android/icu/number/NumberFormatter`

### MIN2

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final NumberFormatter.GroupingStrategy MIN2
```

Display grouping using locale defaults, except do not show grouping on values smaller than
10000 (such that there is a *minimum of two digits* before the first separator).


Note that locales may restrict grouping separators to be displayed only on 1 million or
greater (for example, ee and hu) or disable grouping altogether (for example, bg currency).


Locale data is used to determine whether to separate larger numbers into groups of 2
(customary in South Asia) or groups of 3 (customary in Europe and the Americas).

<br />

**See also:**

- `https://developer.android.com/reference/android/icu/number/NumberFormatter`

### OFF

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final NumberFormatter.GroupingStrategy OFF
```

Do not display grouping separators in any locale.

<br />

**See also:**

- `https://developer.android.com/reference/android/icu/number/NumberFormatter`

### ON_ALIGNED

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final NumberFormatter.GroupingStrategy ON_ALIGNED
```

Always display the grouping separator on values of at least 1000.


This option ignores the locale data that restricts or disables grouping, described in MIN2 and
AUTO. This option may be useful to normalize the alignment of numbers, such as in a
spreadsheet.


Locale data is used to determine whether to separate larger numbers into groups of 2
(customary in South Asia) or groups of 3 (customary in Europe and the Americas).

<br />

**See also:**

- `https://developer.android.com/reference/android/icu/number/NumberFormatter`

### THOUSANDS

Added in [API level 30](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final NumberFormatter.GroupingStrategy THOUSANDS
```

Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. Do not use
locale data for determining the grouping strategy.

<br />

**See also:**

- `https://developer.android.com/reference/android/icu/number/NumberFormatter`

## Public methods

### valueOf

```
public static NumberFormatter.GroupingStrategy valueOf (String name)
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | <br /> |

### values

```
public static final GroupingStrategy[] values ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.GroupingStrategy` | <br /> |