Spec-Zone.ru › Elixir 1.4

Целое число

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

Обзор

Функции

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

Spec-Zone.ru

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