# Cldr Numbers v2.38.1 - API Reference

## Modules

- [Cldr.Number](Cldr.Number.md): Formats numbers and currencies based upon CLDR's decimal formats specification.
- [Cldr.Number.Format](Cldr.Number.Format.md): Functions to manage the collection of number patterns defined in Cldr.
- [Cldr.Number.Format.Compiler](Cldr.Number.Format.Compiler.md): Compiles number patterns with a lexer/parser into patterns for fast runtime interpretation.
- [Cldr.Number.Format.Meta](Cldr.Number.Format.Meta.md): Describes the metadata that drives
number formatting and provides functions to
update the struct.
- [Cldr.Number.Format.Options](Cldr.Number.Format.Options.md): Functions to validate and transform
options that guide number formatting

- [Cldr.Number.Formatter.Currency](Cldr.Number.Formatter.Currency.md): Number formatter for the `:currency` `:long` format.
- [Cldr.Number.Formatter.Decimal](Cldr.Number.Formatter.Decimal.md): Formats a number according to a locale-specific predefined format or a user-defined format.
- [Cldr.Number.Formatter.Ratio](Cldr.Number.Formatter.Ratio.md): The rational number patterns specify the formatting of rational fractions in different languages.
Rational fractions contain a numerator and denominator, such as ½, and may also have an integer,
such a 5½.
- [Cldr.Number.Formatter.Short](Cldr.Number.Formatter.Short.md): Formats a number according to the locale-specific `:short` formats
- [Cldr.Number.Parser](Cldr.Number.Parser.md): Functions for parsing numbers and currencies from
a string.
- [Cldr.Number.Symbol](Cldr.Number.Symbol.md): Functions to manage the symbol definitions for a locale and
number system.
- [Cldr.Number.System](Cldr.Number.System.md): Number systems information is used to define different representations
for numeric values to an end user. Numbering systems are defined in CLDR
as one of two different types: algorithmic and numeric.
- [Cldr.Number.Transliterate](Cldr.Number.Transliterate.md): Transliteration for digits and separators.
- [Cldr.Rbnf](Cldr.Rbnf.md): Functions to implement Rules Based Number Formatting (rbnf)
- [Cldr.Rbnf.Processor](Cldr.Rbnf.Processor.md): Macro to define the interpreter for the compiled RBNF rules specific to a rule group (Ordinal,
Spellout, NumberingSystem)
- [Cldr.Rbnf.Rule](Cldr.Rbnf.Rule.md): Tokenizer and Parser for RBNF rules.

- Exceptions
  - [Cldr.CurrencyAlreadyDefined](Cldr.CurrencyAlreadyDefined.md): Exception raised when an attempt is made to define a currency
that already exists.

  - [Cldr.CurrencyCodeInvalid](Cldr.CurrencyCodeInvalid.md): Exception raised when an attempt is made to define a currency
code that is invalid.

  - [Cldr.NoNumberSymbols](Cldr.NoNumberSymbols.md): Exception raised when when there are no number
symbols for a locale and number system.

  - [Cldr.Number.FloatToFractionError](Cldr.Number.FloatToFractionError.md): Exception raised when when trying to convert
a float or integer into a ratio.

  - [Cldr.Number.NoRationalFormatError](Cldr.Number.NoRationalFormatError.md): Exception raised when when a locale does not
define rational formats.

  - [Cldr.Number.ParseError](Cldr.Number.ParseError.md): Exception raised when when trying to parse
a string into a number and the string is
not parseable.

  - [Cldr.Number.UnknownGenderError](Cldr.Number.UnknownGenderError.md): Exception raised when when an unknown
grammatical gender is specified.

  - [Cldr.Number.UnknownGrammaticalCaseError](Cldr.Number.UnknownGrammaticalCaseError.md): Exception raised when when an unknown
grammatical case is specified.

  - [Cldr.Rbnf.NoRule](Cldr.Rbnf.NoRule.md): Exception raised when an attempt is made to invoke an RBNF rule that
is not supported for a given locale

  - [Cldr.Rbnf.NoRuleForNumber](Cldr.Rbnf.NoRuleForNumber.md): Exception raised when an attempt is made to invoke an RBNF rule for a number
that is not supported by that rule.

