Spec-Zone.ru › Elixir 1.3

Число с плавающей точкой

Функции для работы с числами с плавающей точкой.

Обзор

Функции

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API