Целое число
Функции для работы с целыми числами.
Обзор
Функции
- digits(целое число, основа \\ 10)
-
Возвращает упорядоченные цифры для данного
integer - floor_div(делимое, делитель)
-
Выполняет целочисленное деление с округлением вниз
- is_even(целое число)
-
Определяет, является ли
integerчётным - is_odd(целое число)
-
Определяет, является ли
integerнечётным - mod(делимое, делитель)
-
Вычисляет остаток от целочисленного деления
- parse(двоичное, основа \\ 10)
-
Парсит текстовое представление целого числа
- to_charlist(целое число)
-
Возвращает список символов, соответствующий текстовому представлению данного
integer - to_charlist(целое число, основа)
-
Возвращает список символов, соответствующий текстовому представлению
integerв заданнойbase - to_string(целое число)
-
Возвращает двоичное значение, соответствующее текстовому представлению
integer - to_string(целое число, основа)
-
Возвращает двоичное значение, соответствующее текстовому представлению
integerв заданнойbase - undigits(цифры, основа \\ 10)
-
Возвращает целое число, представленное упорядоченными
digits
Функции
digits(целое число, основа \\ 10)
digits(integer(), pos_integer()) :: [integer(), ...]
Возвращает упорядоченные цифры для данного integer.
Можно указать необязательное значение base, представляющее основание для возвращаемых цифр. Оно должно быть целым числом >= 2.
Примеры
iex> Integer.digits(123) [1, 2, 3] iex> Integer.digits(170, 2) [1, 0, 1, 0, 1, 0, 1, 0] iex> Integer.digits(-170, 2) [-1, 0, -1, 0, -1, 0, -1, 0]
floor_div(делимое, делитель)
floor_div(integer(), neg_integer() | pos_integer()) :: integer()
Выполняет целочисленное деление с округлением вниз.
Вызывает исключение ArithmeticError, если один из аргументов не является целым числом или когда divisor равен 0.
Integer.floor_div/2 выполняет целочисленное деление с округлением вниз. Это означает, что результат всегда округляется до ближайшего меньшего целого числа.
Если требуется целочисленное деление с усечением (округление к нулю), используйте Kernel.div/2 вместо этого.
Примеры
iex> Integer.floor_div(5, 2) 2 iex> Integer.floor_div(6, -4) -2 iex> Integer.floor_div(-99, 2) -50
is_even(целое число) (макрос)
Определяет, является ли integer чётным.
Возвращает true, если заданное integer является чётным числом, в противном случае возвращает false.
Разрешено в операторах охраны.
Примеры
iex> Integer.is_even(10) true iex> Integer.is_even(5) false iex> Integer.is_even(-10) true iex> Integer.is_even(0) true
is_odd(целое число) (макрос)
Определяет, является ли integer нечётным.
Возвращает true, если заданное integer является нечётным числом, в противном случае возвращает false.
Разрешено в операторах охраны.
Примеры
iex> Integer.is_odd(5) true iex> Integer.is_odd(6) false iex> Integer.is_odd(-5) true iex> Integer.is_odd(0) false
mod(делимое, делитель)
mod(integer(), neg_integer() | pos_integer()) :: integer()
Вычисляет остаток от целочисленного деления.
Integer.mod/2 использует целочисленное деление с округлением вниз, что означает, что результат всегда будет иметь знак divisor.
Вызывает исключение ArithmeticError, если один из аргументов не является целым числом или когда divisor равен 0.
Примеры
iex> Integer.mod(5, 2) 1 iex> Integer.mod(6, -4) -2
parse(двоичное, основа \\ 10)
parse(binary(), 2..36) :: {integer(), binary()} | :error | no_return() Парсит текстовое представление целого числа.
Необязательное значение base может быть предоставлено, представляющее соответствующее целое число. Если base не указано, будет использовано значение 10.
Если операция выполнена успешно, возвращает кортеж в формате {integer, remainder_of_binary}. В противном случае :error.
Вызывает ошибку, если base меньше 2 или больше 36.
Если нужно преобразовать строковое представление целого числа напрямую в целое число, используйте String.to_integer/1 или String.to_integer/2 вместо этого.
Примеры
iex> Integer.parse("34")
{34, ""}
iex> Integer.parse("34.5")
{34, ".5"}
iex> Integer.parse("three")
:error
iex> Integer.parse("34", 10)
{34, ""}
iex> Integer.parse("f4", 16)
{244, ""}
iex> Integer.parse("Awww++", 36)
{509216, "++"}
iex> Integer.parse("fab", 10)
:error
iex> Integer.parse("a2", 38)
** (ArgumentError) invalid base 38 to_charlist(целое число)
to_charlist(integer()) :: charlist()
Возвращает список символов, соответствующий текстовому представлению данного integer.
Встраивается компилятором.
Примеры
iex> Integer.to_charlist(123) '123' iex> Integer.to_charlist(+456) '456' iex> Integer.to_charlist(-789) '-789' iex> Integer.to_charlist(0123) '123'
to_charlist(целое число, основа)
to_charlist(integer(), 2..36) :: charlist()
Возвращает список символов, соответствующий текстовому представлению integer в заданной base.
base может быть целым числом от 2 до 36.
Встраивается компилятором.
Примеры
iex> Integer.to_charlist(100, 16) '64' iex> Integer.to_charlist(-100, 16) '-64' iex> Integer.to_charlist(882681651, 36) 'ELIXIR'
to_string(целое число)
to_string(integer()) :: String.t()
Возвращает двоичное значение, соответствующее текстовому представлению integer.
Встраивается компилятором.
Примеры
iex> Integer.to_string(123) "123" iex> Integer.to_string(+456) "456" iex> Integer.to_string(-789) "-789" iex> Integer.to_string(0123) "123"
to_string(целое число, основа)
to_string(integer(), 2..36) :: String.t()
Возвращает двоичное значение, соответствующее текстовому представлению integer в заданной base.
base может быть целым числом от 2 до 36.
Встраивается компилятором.
Примеры
iex> Integer.to_string(100, 16) "64" iex> Integer.to_string(-100, 16) "-64" iex> Integer.to_string(882681651, 36) "ELIXIR"
undigits(цифры, основа \\ 10)
undigits([integer()], integer()) :: integer()
Возвращает целое число, представленное упорядоченными digits.
Необязательное значение base может быть предоставлено, представляющее основание для digits. Оно должно быть целым числом >= 2.
Примеры
iex> Integer.undigits([1, 2, 3]) 123 iex> Integer.undigits([1, 4], 16) 20 iex> Integer.undigits([]) 0
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.4.5/Integer.html