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

# NumberFormatter.RoundingPriority

*** ** * ** ***

` public static final enum NumberFormatter.RoundingPriority `   
` ` ` extends https://developer.android.com/reference/java/lang/Enum<https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority> ` ` `

|---|---|---|
| [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.RoundingPriority](https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority)\> ||
|   | ↳ | android.icu.number.NumberFormatter.RoundingPriority |

<br />

*** ** * ** ***

An enum declaring how to resolve conflicts between maximum fraction digits and maximum significant digits.

There are two modes, RELAXED and STRICT:

- RELAXED: Relax one of the two constraints (fraction digits or significant digits) in order to round the number to a higher level of precision.
- STRICT: Enforce both constraints, resulting in the number being rounded to a lower level of precision.

The default settings for compact notation rounding are Max-Fraction = 0 (round to the nearest integer), Max-Significant = 2 (round to 2 significant digits), and priority RELAXED (choose the constraint that results in more digits being displayed).

Conflicting *minimum* fraction and significant digits are always resolved in the direction that results in more trailing zeros.

Example 1: Consider the number 3.141, with various different settings:

- Max-Fraction = 1: "3.1"
- Max-Significant = 3: "3.14"

The rounding priority determines how to resolve the conflict when both Max-Fraction and Max-Significant are set. With RELAXED, the less-strict setting (the one that causes more digits to be displayed) will be used; Max-Significant wins. With STRICT, the more-strict setting (the one that causes fewer digits to be displayed) will be used; Max-Fraction wins.

Example 2: Consider the number 8317, with various different settings:

- Max-Fraction = 1: "8317"
- Max-Significant = 3: "8320"

Here, RELAXED favors Max-Fraction and STRICT favors Max-Significant. Note that this larger number caused the two modes to favor the opposite result.

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority` | `RELAXED` Favor greater precision by relaxing one of the rounding constraints. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority` | `STRICT` Favor adherence to all rounding constraints by producing lower precision. |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority` | ` https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` |
| ` static final https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority` | ` https://developer.android.com/reference/android/icu/number/NumberFormatter.RoundingPriority#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.RoundingPriority 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.RoundingPriority>` ` 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.RoundingPriority o) `

Compares this object with the specified object for order.

## Enum values

### RELAXED

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

```
public static final NumberFormatter.RoundingPriority RELAXED
```

Favor greater precision by relaxing one of the rounding constraints.

<br />

### STRICT

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

```
public static final NumberFormatter.RoundingPriority STRICT
```

Favor adherence to all rounding constraints by producing lower precision.

<br />

## Public methods

### valueOf

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

<br />

<br />

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

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

### values

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

<br />

<br />

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