Money.Cldr.Number.System.number_system_for
You're seeing just the function
number_system_for
, go back to Money.Cldr.Number.System module for more information.
Specs
number_system_for( Cldr.Locale.locale_name() | Cldr.LanguageTag.t(), Cldr.Number.System.system_name() ) :: {:ok, [atom()]} | {:error, {module(), String.t()}}
Returns the actual number system from a number system type.
locale
is any valid locale name returned byCldr.known_locale_names/0
or aCldr.LanguageTag
struct returned byCldr.Locale.new!/2
system_name
is any number system name returned byCldr.known_number_systems/0
or a number system type returned byCldr.known_number_system_types/0
This function will decode a number system type into the actual number system. If the number system provided can't be decoded it is returned as is.
Examples
iex> Cldr.Number.System.number_system_for "th", :latn, TestBackend.Cldr
{:ok, %{digits: "0123456789", type: :numeric}}
iex> Cldr.Number.System.number_system_for "en", :default, TestBackend.Cldr
{:ok, %{digits: "0123456789", type: :numeric}}
iex> Cldr.Number.System.number_system_for "he", :traditional, TestBackend.Cldr
{:ok, %{rules: "hebrew", type: :algorithmic}}
iex> Cldr.Number.System.number_system_for "en", :finance, TestBackend.Cldr
{
:error,
{Cldr.UnknownNumberSystemError,
"The number system :finance is unknown for the locale named \"en\". Valid number systems are %{default: :latn, native: :latn}"}
}
iex> Cldr.Number.System.number_system_for "en", :native, TestBackend.Cldr
{:ok, %{digits: "0123456789", type: :numeric}}