Число с плавающей точкой
Функции для работы с числами с плавающей точкой.
Обзор
Функции
- ceil(число, точность \\ 0)
-
Округляет число с плавающей точкой до наименьшего целого числа, большего или равного
num - floor(число, точность \\ 0)
-
Округляет число с плавающей точкой до наибольшего целого числа, меньшего или равного
num - parse(двоичное)
-
Парсит двоичное представление в число с плавающей точкой
- round(число, точность \\ 0)
-
Округляет число с плавающей точкой до заданного количества знаков после запятой (от 0 до 15)
- to_charlist(число с плавающей точкой)
-
Возвращает список символов, соответствующий текстовому представлению заданного числа с плавающей точкой
- to_string(число с плавающей точкой)
-
Возвращает двоичное представление текстового представления заданного числа с плавающей точкой
Функции
ceil(число, точность \\ 0)
ceil(float, 0..15) :: float
Округляет число с плавающей точкой до наименьшего целого числа, большего или равного num.
ceil/2 также принимает точность для округления значения с плавающей точкой до заданного количества знаков после запятой (от 0 до 15).
Эта функция всегда возвращает числа с плавающей точкой. Kernel.trunc/1 можно использовать для усечения результата до целого числа.
Примеры
iex> Float.ceil(34.25) 35.0 iex> Float.ceil(-56.5) -56.0 iex> Float.ceil(34.251, 2) 34.26
floor(число, точность \\ 0)
floor(float, 0..15) :: float
Округляет число с плавающей точкой до наибольшего целого числа, меньшего или равного num.
floor/2 также принимает точность для округления значения с плавающей точкой до заданного количества знаков после запятой (от 0 до 15).
Эта функция всегда возвращает число с плавающей точкой. Kernel.trunc/1 можно использовать для усечения результата до целого числа.
Примеры
iex> Float.floor(34.25) 34.0 iex> Float.floor(-56.5) -57.0 iex> Float.floor(34.259, 2) 34.25
parse(двоичное)
parse(binary) :: {float, binary} | :error Парсит двоичное представление в число с плавающей точкой.
Если успешно, возвращает кортеж в виде {float, remainder_of_binary}; если двоичное представление нельзя преобразовать в корректное число с плавающей точкой, возвращается атом :error
Если размер числа с плавающей точкой превышает максимальный размер 1.7976931348623157e+308, генерируется исключение ArgumentError.
Если необходимо преобразовать строковое представление числа с плавающей точкой напрямую в число с плавающей точкой, можно использовать String.to_float/1.
Примеры
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 round(число, точность \\ 0)
round(float, 0..15) :: float
Округляет число с плавающей точкой до заданного количества знаков после запятой (от 0 до 15).
Функция принимает только числа с плавающей точкой и всегда возвращает число с плавающей точкой. Используйте Kernel.round/1, если нужна функция, которая принимает как числа с плавающей точкой, так и целые числа и всегда возвращает целое число.
Примеры
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
to_charlist(число с плавающей точкой)
to_charlist(float) :: charlist
Возвращает список символов, соответствующий текстовому представлению заданного числа с плавающей точкой.
Используется самое короткое представление согласно алгоритму, описанному в статье «Быстрое и точное вычисление чисел с плавающей точкой» в Proceedings of the SIGPLAN ‘96 Conference on Programming Language Design and Implementation.
Примеры
iex> Float.to_charlist(7.0) '7.0'
to_string(число с плавающей точкой)
to_string(float) :: String.t
Возвращает двоичное представление текстового представления заданного числа с плавающей точкой.
Используется самое короткое представление согласно алгоритму, описанному в статье «Быстрое и точное вычисление чисел с плавающей точкой» в Proceedings of the SIGPLAN ‘96 Conference on Programming Language Design and Implementation.
Примеры
iex> Float.to_string(7.0) "7.0"
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.3.4/Float.html