Added in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Fields](https://developer.android.com/reference/android/icu/text/NumberingSystem#lfields) \| [Ctors](https://developer.android.com/reference/android/icu/text/NumberingSystem#pubctors) \| [Methods](https://developer.android.com/reference/android/icu/text/NumberingSystem#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/icu/text/NumberingSystem#inhmethods)

# NumberingSystem

*** ** * ** ***

` public class NumberingSystem `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.icu.text.NumberingSystem |

<br />

*** ** * ** ***

`NumberingSystem` is the base class for all number systems. This class provides the interface for setting different numbering system types, whether it be a simple alternate digit system such as Thai digits or Devanagari digits, or an algorithmic numbering system such as Hebrew numbering or Chinese numbering.

## Summary

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/icu/text/NumberingSystem` | `https://developer.android.com/reference/android/icu/text/NumberingSystem#LATIN` For convenience, an instance representing the *latn* numbering system, which corresponds to digits in the ASCII range '0' through '9'. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/icu/text/NumberingSystem#NumberingSystem()() ` Default constructor. |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getAvailableNames()() ` Returns a string array containing a list of the names of numbering systems currently known to ICU. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getDescription()() ` Returns the description string of the current numbering system. |
| ` static https://developer.android.com/reference/android/icu/text/NumberingSystem` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getInstance(android.icu.util.ULocale)(https://developer.android.com/reference/android/icu/util/ULocale locale) ` Returns the default numbering system for the specified ULocale. |
| ` static https://developer.android.com/reference/android/icu/text/NumberingSystem` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getInstance()() ` Returns the default numbering system for the default `FORMAT` locale. |
| ` static https://developer.android.com/reference/android/icu/text/NumberingSystem` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getInstance(java.util.Locale)(https://developer.android.com/reference/java/util/Locale inLocale) ` Returns the default numbering system for the specified locale. |
| ` static https://developer.android.com/reference/android/icu/text/NumberingSystem` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getInstance(int,%20boolean,%20java.lang.String)(int radix_in, boolean isAlgorithmic_in, https://developer.android.com/reference/java/lang/String desc_in) ` Factory method for creating a numbering system. |
| ` static https://developer.android.com/reference/android/icu/text/NumberingSystem` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getInstanceByName(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` Returns a numbering system from one of the predefined numbering systems known to ICU. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getName()() ` Returns the string representing the name of the numbering system. |
| ` int` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#getRadix()() ` Returns the radix of the current numbering system. |
| ` boolean` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#isAlgorithmic()() ` Returns the numbering system's algorithmic status. |
| ` static boolean` | ` https://developer.android.com/reference/android/icu/text/NumberingSystem#isValidDigitString(java.lang.String)(https://developer.android.com/reference/java/lang/String str) ` Convenience method to determine if a given digit string is valid for use as a descriptor of a numeric ( non-algorithmic ) numbering system. |

### Inherited methods

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*.

## Fields

### LATIN

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

```
public static final NumberingSystem LATIN
```

For convenience, an instance representing the *latn* numbering system, which corresponds to digits in the ASCII range '0' through '9'.

<br />

## Public constructors

### NumberingSystem

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

```
public NumberingSystem ()
```

Default constructor. Returns a numbering system that uses the Latin-script decimal digits 0 through 9. This should be equivalent to NumberingSystem.LATIN.

<br />

## Public methods

### getAvailableNames

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

```
public static String[] getAvailableNames ()
```

Returns a string array containing a list of the names of numbering systems currently known to ICU.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | An array of strings in alphabetical (invariant) order. <br /> |

### getDescription

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

```
public String getDescription ()
```

Returns the description string of the current numbering system. The description string describes the characteristics of the numbering system. For numeric systems, this string contains the digits used by the numbering system, in order, starting from zero. For algorithmic numbering systems, the string contains the name of the RBNF ruleset in the locale's NumberingSystemRules section that will be used to format numbers using this numbering system.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getInstance

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

```
public static NumberingSystem getInstance (ULocale locale)
```

Returns the default numbering system for the specified ULocale.

<br />

| Parameters ||
|---|---|
| `locale` | `ULocale` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/NumberingSystem` | <br /> |

### getInstance

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

```
public static NumberingSystem getInstance ()
```

Returns the default numbering system for the default `FORMAT` locale.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/NumberingSystem` | <br /> |

**See also:**

- `https://developer.android.com/reference/android/icu/util/ULocale.Category#FORMAT`

### getInstance

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

```
public static NumberingSystem getInstance (Locale inLocale)
```

Returns the default numbering system for the specified locale.

<br />

| Parameters ||
|---|---|
| `inLocale` | `Locale` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/NumberingSystem` | <br /> |

### getInstance

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

```
public static NumberingSystem getInstance (int radix_in, 
                boolean isAlgorithmic_in, 
                String desc_in)
```

Factory method for creating a numbering system.

<br />

| Parameters ||
|---|---|
| `radix_in` | `int`: The radix for this numbering system. ICU currently supports only numbering systems whose radix is 10. <br /> |
| `isAlgorithmic_in` | `boolean`: Specifies whether the numbering system is algorithmic (true) or numeric (false). <br /> |
| `desc_in` | `String`: String used to describe the characteristics of the numbering system. For numeric systems, this string contains the digits used by the numbering system, in order, starting from zero. For algorithmic numbering systems, the string contains the name of the RBNF ruleset in the locale's NumberingSystemRules section that will be used to format numbers using this numbering system. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/NumberingSystem` | <br /> |

### getInstanceByName

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

```
public static NumberingSystem getInstanceByName (String name)
```

Returns a numbering system from one of the predefined numbering systems known to ICU. Numbering system names are based on the numbering systems defined in CLDR. To get a list of available numbering systems, use the getAvailableNames method.

<br />

| Parameters ||
|---|---|
| `name` | `String`: The name of the desired numbering system. Numbering system names often correspond with the name of the script they are associated with. For example, "thai" for Thai digits, "hebr" for Hebrew numerals. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/icu/text/NumberingSystem` | The NumberingSystem instance, or null if not available. <br /> |

### getName

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

```
public String getName ()
```

Returns the string representing the name of the numbering system.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getRadix

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

```
public int getRadix ()
```

Returns the radix of the current numbering system.

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### isAlgorithmic

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

```
public boolean isAlgorithmic ()
```

Returns the numbering system's algorithmic status. If true, the numbering system is algorithmic and uses an RBNF formatter to format numerals. If false, the numbering system is numeric and uses a fixed set of digits.

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |

### isValidDigitString

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

```
public static boolean isValidDigitString (String str)
```

Convenience method to determine if a given digit string is valid for use as a descriptor of a numeric ( non-algorithmic ) numbering system. In order for a digit string to be valid, it must contain exactly ten Unicode code points.

<br />

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

| Returns ||
|---|---|
| `boolean` | <br /> |