Elixir v1.3.0-rc.0 Float View Source
Functions for working with floating point numbers.
Link to this section Summary
Functions
Rounds a float to the smallest integer greater than or equal to num
Rounds a float to the largest integer less than or equal to num
Parses a binary into a float
Rounds a floating point value to an arbitrary number of fractional digits (between 0 and 15)
Returns a charlist which corresponds to the text representation of the given float
Returns a binary which corresponds to the text representation of the given float
Link to this section Functions
Rounds a float to the smallest integer greater than or equal to num
.
ceil/2
also accepts a precision to round a floating point value down
to an arbitrary number of fractional digits (between 0 and 15).
This function always returns floats. Kernel.trunc/1
may be used instead to
truncate the result to an integer afterwards.
Examples
iex> Float.ceil(34.25)
35.0
iex> Float.ceil(-56.5)
-56.0
iex> Float.ceil(34.251, 2)
34.26
Rounds a float to the largest integer less than or equal to num
.
floor/2
also accepts a precision to round a floating point value down
to an arbitrary number of fractional digits (between 0 and 15).
This function always returns a float. Kernel.trunc/1
may be used instead to
truncate the result to an integer afterwards.
Examples
iex> Float.floor(34.25)
34.0
iex> Float.floor(-56.5)
-57.0
iex> Float.floor(34.259, 2)
34.25
Parses a binary into a float.
If successful, returns a tuple in the form of {float, remainder_of_binary}
;
when the binary cannot be coerced into a valid float, the atom :error
is
returned.
If the size of float exceeds the maximum size of 1.7976931348623157e+308
,
the ArgumentError
exception is raised.
If a float formatted string wants to be directly converted to a float,
String.to_float/1
can be used instead.
Examples
iex> Float.parse("34")
{34.0, ""}
iex> Float.parse("34.25")
{34.25, ""}
iex> Float.parse("56.5xyz")
{56.5, "xyz"}
iex> Float.parse("pi")
:error
Rounds a floating point value to an arbitrary number of fractional digits (between 0 and 15).
This function only accepts floats and always returns a float. Use
Kernel.round/1
if you want a function that accepts both floats and integers
and always returns an integer.
Examples
iex> Float.round(5.5674, 3)
5.567
iex> Float.round(5.5675, 3)
5.568
iex> Float.round(-5.5674, 3)
-5.567
iex> Float.round(-5.5675, 3)
-5.568
iex> Float.round(-5.5675)
-6.0
Returns a charlist which corresponds to the text representation of the given float.
It uses the shortest representation according to algorithm described in “Printing Floating-Point Numbers Quickly and Accurately” in Proceedings of the SIGPLAN ‘96 Conference on Programming Language Design and Implementation.
Examples
iex> Float.to_charlist(7.0)
'7.0'
Returns a binary which corresponds to the text representation of the given float.
It uses the shortest representation according to algorithm described in “Printing Floating-Point Numbers Quickly and Accurately” in Proceedings of the SIGPLAN ‘96 Conference on Programming Language Design and Implementation.
Examples
iex> Float.to_string(7.0)
"7.0"