View Source Want.Float (want v2.0.0)
Performs type conversions to float values.
Summary
Types
Functions
Cast a value to a float.
Options
:max- Maximum allowable float value.:min- Minimum allowable float value.:clamp- If true, values outside:min/:maxare clamped to the boundary instead of failing.
Examples
iex> Want.Float.cast("1")
{:ok, 1.0}
iex> Want.Float.cast(1.0)
{:ok, 1.0}
iex> Want.Float.cast(:'1')
{:ok, 1.0}
iex> Want.Float.cast({:a, :b})
{:error, "Failed to convert value {:a, :b} to float."}
iex> Want.Float.cast("10", max: 3.0)
{:error, "Float value exceeds maximum 3.0."}
iex> Want.Float.cast(1.0, min: 3.0)
{:error, "Float value below minimum 3.0."}
iex> Want.Float.cast(1.5, max: 1.0, clamp: true)
{:ok, 1.0}
iex> Want.Float.cast(-0.5, min: 0.0, clamp: true)
{:ok, 0.0}
Callback implementation for Want.Type.cast/2.