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.SignDisplay#enumconstants) \| [Methods](https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay#inhmethods)

# NumberFormatter.SignDisplay

*** ** * ** ***


`
public
static
final

enum
NumberFormatter.SignDisplay
`


`


`

`

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


`

`


`

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

<br />

*** ** * ** ***

An enum declaring how to denote positive and negative numbers. Example outputs when formatting
123, 0, and -123 in *en-US*:

- AUTO: "123", "0", and "-123"
- ALWAYS: "+123", "+0", and "-123"
- NEVER: "123", "0", and "123"
- ACCOUNTING: "$123", "$0", and "($123)"
- ACCOUNTING_ALWAYS: "+$123", "+$0", and "($123)"
- EXCEPT_ZERO: "+123", "0", and "-123"
- ACCOUNTING_EXCEPT_ZERO: "+$123", "$0", and "($123)"


The exact format, including the position and the code point of the sign, differ by locale.
**See also:**

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

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `ACCOUNTING` Use the locale-dependent accounting format on negative numbers, and do not show the sign on positive numbers. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `ACCOUNTING_ALWAYS` Use the locale-dependent accounting format on negative numbers, and show the plus sign on positive numbers, including zero. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `ACCOUNTING_EXCEPT_ZERO` Use the locale-dependent accounting format on negative numbers, and show the plus sign on positive numbers. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `ACCOUNTING_NEGATIVE` Same as ACCOUNTING, but do not show the sign on negative zero. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `ALWAYS` Show the minus sign on negative numbers and the plus sign on positive numbers, including zero. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `AUTO` Show the minus sign on negative numbers, and do not show the sign on positive numbers. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `EXCEPT_ZERO` Show the minus sign on negative numbers and the plus sign on positive numbers. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `NEGATIVE` Same as AUTO, but do not show the sign on negative zero. |
| `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay` | `NEVER` Do not show the sign on positive or negative numbers. |

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

Compares this object with the specified object for order.


## Enum values

### ACCOUNTING

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

```
public static final NumberFormatter.SignDisplay ACCOUNTING
```

Use the locale-dependent accounting format on negative numbers, and do not show the sign on
positive numbers.


The accounting format is defined in CLDR and varies by locale; in many Western locales, the
format is a pair of parentheses around the number.


Note: Since CLDR defines the accounting format in the monetary context only, this option falls
back to the AUTO sign display strategy when formatting without a currency unit. This
limitation may be lifted in the future.

<br />

**See also:**

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

### ACCOUNTING_ALWAYS

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

```
public static final NumberFormatter.SignDisplay ACCOUNTING_ALWAYS
```

Use the locale-dependent accounting format on negative numbers, and show the plus sign on
positive numbers, including zero. For more information on the accounting format, see the
ACCOUNTING sign display strategy. To hide the sign on zero, see
`https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay#ACCOUNTING_EXCEPT_ZERO`.

<br />

**See also:**

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

### ACCOUNTING_EXCEPT_ZERO

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

```
public static final NumberFormatter.SignDisplay ACCOUNTING_EXCEPT_ZERO
```

Use the locale-dependent accounting format on negative numbers, and show the plus sign on
positive numbers. Do not show a sign on zero, numbers that round to zero, or NaN. For more
information on the accounting format, see the ACCOUNTING sign display strategy.

<br />

**See also:**

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

### ACCOUNTING_NEGATIVE

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

```
public static final NumberFormatter.SignDisplay ACCOUNTING_NEGATIVE
```

Same as ACCOUNTING, but do not show the sign on negative zero.

<br />

### ALWAYS

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

```
public static final NumberFormatter.SignDisplay ALWAYS
```

Show the minus sign on negative numbers and the plus sign on positive numbers, including zero.
To hide the sign on zero, see `https://developer.android.com/reference/android/icu/number/NumberFormatter.SignDisplay#EXCEPT_ZERO`.

<br />

**See also:**

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

### AUTO

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

```
public static final NumberFormatter.SignDisplay AUTO
```

Show the minus sign on negative numbers, and do not show the sign on positive numbers. This is
the default behavior.

If using this option, a sign will be displayed on negative zero, including negative numbers
that round to zero. To hide the sign on negative zero, use the NEGATIVE option.

<br />

**See also:**

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

### EXCEPT_ZERO

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

```
public static final NumberFormatter.SignDisplay EXCEPT_ZERO
```

Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a
sign on zero, numbers that round to zero, or NaN.

<br />

**See also:**

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

### NEGATIVE

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

```
public static final NumberFormatter.SignDisplay NEGATIVE
```

Same as AUTO, but do not show the sign on negative zero.

<br />

### NEVER

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

```
public static final NumberFormatter.SignDisplay NEVER
```

Do not show the sign on positive or negative numbers.

<br />

**See also:**

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

## Public methods

### valueOf

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

<br />

<br />

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

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

### values

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

<br />

<br />

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