Cldr.Unit.parse-exclamation-mark
parse-exclamation-mark
, go back to Cldr.Unit module for more information.
Parse a string to create a new unit or raises an exception.
This function attempts to parse a string
into a number
and unit type
. If successful
it attempts to create a new unit using
Cldr.Unit.new/3
.
The parsed unit type
is un-aliased against all the
known unit names for a give locale (or the current
locale if no locale is specified). The known
aliases for unit types can be returned with
MyApp.Cldr.Unit.unit_strings_for/1
where MyApp.Cldr
is the name of a backend module.
Arguments
unit string
is any string to be parsed and if possible used to create a newt:Cldr.Unit
options
is a keyword list of options
Options
:locale
is any valid locale name returned byCldr.known_locale_names/0
or at:Cldr.LanguageTag
struct. The default isCldr.get_locale/0
:backend
is any module that includesuse Cldr
and therefore is aCldr
backend module. The default isCldr.default_backend!/0
.
Returns
unit
orraises an exception
Examples
iex> Cldr.Unit.parse! "1kg"
Cldr.Unit.new!(1, :kilogram)
iex> Cldr.Unit.parse! "1 tages", locale: "de"
Cldr.Unit.new!(1, :day)
iex> Cldr.Unit.parse!("42 candela per lux")
Cldr.Unit.new!(42, "candela per lux")
iex> Cldr.Unit.parse!("42 millispangels")
** (Cldr.UnknownUnitError) Unknown unit was detected at "spangels"