Cldr.Number.Format.Options (Cldr Numbers v2.37.0)

View Source

Functions to validate and transform options that guide number formatting

Summary

Types

currency_symbol()

@type currency_symbol() :: :standard | :iso | :narrow | :symbol | :none

fixed_format()

@type fixed_format() :: :standard | :currency | :accounting | :short | :long

format()

@type format() :: binary() | fixed_format()

gender()

@type gender() ::
  nil
  | :plural
  | :neuter
  | :masculine
  | :feminine
  | :common
  | :personal
  | :inanimate
  | :animate

grammatical_case()

@type grammatical_case() ::
  nil
  | :vocative
  | :translative
  | :terminative
  | :superessive
  | :sublative
  | :sociative
  | :prepositional
  | :partitive
  | :oblique
  | :nominative
  | :localtivecopulative
  | :locative
  | :instrumental
  | :inessive
  | :illative
  | :genitive
  | :ergative
  | :elative
  | :delative
  | :dative
  | :comitative
  | :causal
  | :allative
  | :adessive
  | :accusative
  | :ablative
  | :abessive

separators()

@type separators() :: :standard | :us

short_format_style()

@type short_format_style() ::
  :currency_short
  | :currency_long
  | :currency_long_with_symbol
  | :decimal_short
  | :decimal_long

t()

@type t() :: %Cldr.Number.Format.Options{
  currency: Cldr.Currency.t() | :from_locale,
  currency_digits: pos_integer(),
  currency_format: :currency | :accounting,
  currency_spacing: map(),
  currency_symbol: term(),
  format: format(),
  fractional_digits: pos_integer(),
  gender: gender(),
  grammatical_case: grammatical_case(),
  locale: Cldr.LanguageTag.t(),
  maximum_integer_digits: pos_integer(),
  minimum_grouping_digits: pos_integer(),
  number_system: Cldr.Number.System.system_name(),
  pattern: String.t(),
  round_nearest: pos_integer(),
  rounding_mode: Decimal.rounding(),
  separators: separators(),
  symbols: Cldr.Number.Symbol.t(),
  wrapper: (String.t(), atom() -> String.t())
}

Functions

standard_format(formats, format, locale, number_system, backend)

valid_grammatical_case()

Returns the list of valid grammatical cases.

valid_grammatical_gender()

Returns the list of valid grammatical genders.

validate_options(number, backend, options)

@spec validate_options(Cldr.Math.number_or_decimal(), Cldr.backend(), [
  {atom(), term()}
]) ::
  {:ok, t()} | {:error, {module(), String.t()}}

validate_ratio_options(number, backend, options)