# NumberingSystem Class Reference

Defines numbering systems. More...

`#include <numsys.h>`

Inheritance diagram for NumberingSystem:

## Public Member Functions
| NumberingSystem ()
| Default Constructor.
| NumberingSystem (const NumberingSystem &other)
| Copy constructor.
virtual | ~NumberingSystem ()
| Destructor.
int32_t | getRadix ()
| Returns the radix of this numbering system.
virtual UnicodeString | getDescription ()
| Returns the description string of this numbering system, which is either the string of digits in the case of simple systems, or the ruleset name in the case of algorithmic systems.
UBool | isAlgorithmic () const
| Returns TRUE if the given numbering system is algorithmic.
virtual UClassID | getDynamicClassID () const
| ICU "poor man's RTTI", returns a UClassID for the actual class.
## Static Public Member Functions
static NumberingSystem * | createInstance (const Locale &inLocale, UErrorCode &status)
| Create the default numbering system associated with the specified locale.
static NumberingSystem * | createInstance (UErrorCode &status)
| Create the default numbering system associated with the default locale.
static NumberingSystem * | createInstance (int32_t radix, UBool isAlgorithmic, const UnicodeString &description, UErrorCode &status)
| Create a numbering system using the specified radix, type, and description.
static StringEnumeration * | getAvailableNames (UErrorCode &status)
| Return a StringEnumeration over all the names of numbering systems known to ICU.
static NumberingSystem * | createInstanceByName (const char *name, UErrorCode &status)
| Create a numbering system from one of the predefined numbering systems known to ICU.
static UClassID | getStaticClassID (void)
| ICU "poor man's RTTI", returns a UClassID for this class.

## Detailed Description

Defines numbering systems.

A numbering system describes the scheme by which numbers are to be presented to the end user. In its simplest form, a numbering system describes the set of digit characters that are to be used to display numbers, such as Western digits, Thai digits, Arabic-Indic digits, etc. More complicated numbering systems are algorithmic in nature, and require use of an RBNF formatter ( rule based number formatter ), in order to calculate the characters to be displayed for a given number. Examples of algorithmic numbering systems include Roman numerals, Chinese numerals, and Hebrew numerals. Formatting rules for many commonly used numbering systems are included in the ICU package, based on the numbering system rules defined in CLDR. Alternate numbering systems can be specified to a locale by using the numbers locale keyword.

Definition at line 49 of file numsys.h.

## Constructor & Destructor Documentation

NumberingSystem::NumberingSystem | ( |  | ) |

Default Constructor.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

NumberingSystem::NumberingSystem | ( | const NumberingSystem & | other | ) |

Copy constructor.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

virtual NumberingSystem::~NumberingSystem | ( |  | ) | `[virtual]`

Destructor.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

## Member Function Documentation

static NumberingSystem* NumberingSystem::createInstance | ( | int32_t | radix,
|  | UBool | isAlgorithmic,
|  | const UnicodeString & | description,
|  | UErrorCode & | status |
| ) |  |  | `[static]`

Create a numbering system using the specified radix, type, and description.

Parameters:

  | radix | The radix (base) for this numbering system.
  | isAlgorithmic | TRUE if the numbering system is algorithmic rather than numeric.
  | description | The string representing the set of digits used in a numeric system, or the name of the RBNF ruleset to be used in an algorithmic system.
  | status | ICU status

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

static NumberingSystem* NumberingSystem::createInstance | ( | UErrorCode & | status | ) | `[static]`

Create the default numbering system associated with the default locale.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

static NumberingSystem* NumberingSystem::createInstance | ( | const Locale & | inLocale,
|  | UErrorCode & | status |
| ) |  |  | `[static]`

Create the default numbering system associated with the specified locale.

Parameters:

  | inLocale | The given locale.
  | status | ICU status

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

static NumberingSystem* NumberingSystem::createInstanceByName | ( | const char * | name,
|  | UErrorCode & | status |
| ) |  |  | `[static]`

Create a numbering system from one of the predefined numbering systems known to ICU.

Parameters:

  | name | The name of the numbering system.
  | status | ICU status

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

static StringEnumeration* NumberingSystem::getAvailableNames | ( | UErrorCode & | status | ) | `[static]`

Return a StringEnumeration over all the names of numbering systems known to ICU.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

virtual UnicodeString NumberingSystem::getDescription | ( |  | ) | `[virtual]`

Returns the description string of this numbering system, which is either the string of digits in the case of simple systems, or the ruleset name in the case of algorithmic systems.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

virtual UClassID NumberingSystem::getDynamicClassID | ( |  | ) | const`[virtual]`

ICU "poor man's RTTI", returns a UClassID for the actual class.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

Implements UObject.

int32_t NumberingSystem::getRadix | ( |  | ) |

Returns the radix of this numbering system.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

static UClassID NumberingSystem::getStaticClassID | ( | void |  | ) | `[static]`

ICU "poor man's RTTI", returns a UClassID for this class.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

UBool NumberingSystem::isAlgorithmic | ( |  | ) | const

Returns TRUE if the given numbering system is algorithmic.

Returns:
  TRUE if the numbering system is algorithmic. Otherwise, return FALSE.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

The documentation for this class was generated from the following file:

- numsys.h