class NumberingSystem
Defined at line 60 of file ../../third_party/icu/default/source/i18n/unicode/numsys.h
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., in a
positional numbering system with a specified radix (typically 10).
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.
Public Methods
void NumberingSystem ()
Default Constructor.
ICU 4.2
void NumberingSystem (const NumberingSystem & other)
Copy constructor.
ICU 4.2
NumberingSystem & operator= (const NumberingSystem & other)
Copy assignment.
ICU 4.2
Defined at line 80 of file ../../third_party/icu/default/source/i18n/unicode/numsys.h
void ~NumberingSystem ()
Destructor.
ICU 4.2
NumberingSystem * createInstance (const Locale & inLocale, UErrorCode & status)
Create the default numbering system associated with the specified locale.
Parameters
NumberingSystem * createInstance (UErrorCode & status)
Create the default numbering system associated with the default locale.
ICU 4.2
NumberingSystem * createInstance (int32_t radix, UBool isAlgorithmic, const UnicodeString & description, UErrorCode & status)
Create a numbering system using the specified radix, type, and description.
Parameters
StringEnumeration * getAvailableNames (UErrorCode & status)
Return a StringEnumeration over all the names of numbering systems known to ICU.
The numbering system names will be in alphabetical (invariant) order.
The returned StringEnumeration is owned by the caller, who must delete it when
finished with it.
ICU 4.2
NumberingSystem * createInstanceByName (const char * name, UErrorCode & status)
Create a numbering system from one of the predefined numbering systems specified
by CLDR and known to ICU, such as "latn", "arabext", or "hanidec"; the full list
is returned by unumsys_openAvailableNames. Note that some of the names listed at
http://unicode.org/repos/cldr/tags/latest/common/bcp47/number.xml - e.g.
default, native, traditional, finance - do not identify specific numbering systems,
but rather key values that may only be used as part of a locale, which in turn
defines how they are mapped to a specific numbering system such as "latn" or "hant".
Parameters
Returns
The NumberingSystem instance, or nullptr if not found.
ICU 4.2
int32_t getRadix ()
Returns the radix of this numbering system. Simple positional numbering systems
typically have radix 10, but might have a radix of e.g. 16 for hexadecimal. The
radix is less well-defined for non-positional algorithmic systems.
ICU 4.2
const char * getName ()
Returns the name of this numbering system if it was created using one of the predefined names
known to ICU. Otherwise, returns nullptr.
The predefined names are identical to the numbering system names as defined by
the BCP47 definition in Unicode CLDR.
See also, http://www.unicode.org/repos/cldr/tags/latest/common/bcp47/number.xml
ICU 4.6
UnicodeString getDescription ()
Returns the description string of this numbering system. For simple
positional systems this is the ordered string of digits (with length matching
the radix), e.g. "\u3007\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D"
for "hanidec"; it would be "0123456789ABCDEF" for hexadecimal. For
algorithmic systems this is the name of the RBNF ruleset used for formatting,
e.g. "zh/SpelloutRules/%spellout-cardinal" for "hans" or "%greek-upper" for
"grek".
ICU 4.2
UBool isAlgorithmic ()
Returns true if the given numbering system is algorithmic
Returns
true if the numbering system is algorithmic.
Otherwise, return false.
ICU 4.2
UClassID getStaticClassID ()
ICU "poor man's RTTI", returns a UClassID for this class.
ICU 4.2
UClassID getDynamicClassID ()
ICU "poor man's RTTI", returns a UClassID for the actual class.
ICU 4.2