Cldr.Number.Symbol (Cldr Numbers v2.35.0)

View Source

Functions to manage the symbol definitions for a locale and number system.

Summary

Functions

Returns a list of all decimal symbols defined by the locales configured in the given backend as a list.

Returns a list of all decimal symbols defined by the locales configured in the given backend as a string.

Returns a list of all grouping symbols defined by the locales configured in the given backend as a list.

Returns a list of all grouping symbols defined by the locales configured in the given backend as a string.

Returns a map of Cldr.Number.Symbol.t structs of the number symbols for each of the number systems of a locale.

Returns the number symbols for a specific locale and number system.

Types

t()

@type t() :: %Cldr.Number.Symbol{
  decimal: String.t(),
  exponential: String.t(),
  group: String.t(),
  infinity: String.t(),
  list: String.t(),
  minus_sign: String.t(),
  nan: String.t(),
  per_mille: String.t(),
  percent_sign: String.t(),
  plus_sign: String.t(),
  superscripting_exponent: String.t(),
  time_separator: String.t()
}

Functions

all_decimal_symbols(backend)

Returns a list of all decimal symbols defined by the locales configured in the given backend as a list.

Arguments

  • backend is any module that includes use Cldr and therefore is a Cldr backend module

all_decimal_symbols_class(backend)

Returns a list of all decimal symbols defined by the locales configured in the given backend as a string.

This string can be used as a character class when builing a regular expression.

Arguments

  • backend is any module that includes use Cldr and therefore is a Cldr backend module

all_grouping_symbols(backend)

Returns a list of all grouping symbols defined by the locales configured in the given backend as a list.

Arguments

  • backend is any module that includes use Cldr and therefore is a Cldr backend module

all_grouping_symbols_class(backend)

Returns a list of all grouping symbols defined by the locales configured in the given backend as a string.

This string can be used as a character class when builing a regular expression.

Arguments

  • backend is any module that includes use Cldr and therefore is a Cldr backend module

number_symbols_for(locale, backend)

@spec number_symbols_for(Cldr.Locale.locale_reference(), Cldr.backend()) ::
  {:ok, map()} | {:error, {module(), String.t()}}

Returns a map of Cldr.Number.Symbol.t structs of the number symbols for each of the number systems of a locale.

Arguments

Example:

iex> Cldr.Number.Symbol.number_symbols_for("th", TestBackend.Cldr)
{
  :ok,
  %{
    latn: %Cldr.Number.Symbol{
      decimal: %{standard: "."},
      exponential: "E",
      group: %{standard: ","},
      infinity: "∞",
      list: ";",
      minus_sign: "-",
      nan: "NaN",
      per_mille: "‰",
      percent_sign: "%",
      plus_sign: "+",
      superscripting_exponent: "×",
      time_separator: ":"
    },
    thai: %Cldr.Number.Symbol{
      decimal: %{standard: "."},
      exponential: "E",
      group: %{standard: ","},
      infinity: "∞",
      list: ";",
      minus_sign: "-",
      nan: "NaN",
      per_mille: "‰",
      percent_sign: "%",
      plus_sign: "+",
      superscripting_exponent: "×",
      time_separator: ":"
    }
  }
}

number_symbols_for(locale, number_system, backend)

@spec number_symbols_for(
  Cldr.Locale.locale_reference(),
  Cldr.Number.System.system_name(),
  Cldr.backend()
) :: {:ok, map()} | {:error, {Cldr.NoNumberSymbols, String.t()}}

Returns the number symbols for a specific locale and number system.

Options

Example

iex> Cldr.Number.Symbol.number_symbols_for("th", "thai", TestBackend.Cldr)
{
  :ok,
  %Cldr.Number.Symbol{
    decimal: %{standard: "."},
    exponential: "E",
    group: %{standard: ","},
    infinity: "∞",
    list: ";",
    minus_sign: "-",
    nan: "NaN",
    per_mille: "‰",
    percent_sign: "%",
    plus_sign: "+",
    superscripting_exponent: "×",
    time_separator: ":"
  }
}