<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="generator" content="ExDoc v0.19.1"> <title>Integer – Elixir v1.7.2</title> <link rel="stylesheet" href="dist/app-240d7fc7e5.css" /> <link rel="canonical" href="https://hexdocs.pm/elixir/v1.7/Integer.html" /> <script src="dist/sidebar_items-cdf4e58b19.js"></script> </head> <body data-type="modules"> <script>try { if(localStorage.getItem('night-mode')) document.body.className += ' night-mode'; } catch (e) { }</script> <div class="main"> <button class="sidebar-button sidebar-toggle"> <span class="icon-menu" aria-hidden="true"></span> <span class="sr-only">Toggle Sidebar</span> </button> <button class="sidebar-button night-mode-toggle"> <span class="icon-theme" aria-hidden="true"></span> <span class="sr-only">Toggle Theme</span> </button> <section class="sidebar"> <a href="http://elixir-lang.org/docs.html" class="sidebar-projectLink"> <div class="sidebar-projectDetails"> <h1 class="sidebar-projectName"> Elixir </h1> <h2 class="sidebar-projectVersion"> v1.7.2 </h2> </div> <img src="assets/logo.png" alt="Elixir" class="sidebar-projectImage"> </a> <form class="sidebar-search" action="search.html"> <button type="submit" class="search-button"> <span class="icon-search" aria-hidden="true"></span> </button> <input name="q" type="text" id="search-list" class="search-input" placeholder="Search" aria-label="Search" autocomplete="off" /> </form> <ul class="sidebar-listNav"> <li><a id="extras-list" href="#full-list">Pages</a></li> <li><a id="modules-list" href="#full-list">Modules</a></li> <li><a id="exceptions-list" href="#full-list">Exceptions</a></li> </ul> <div class="gradient"></div> <ul id="full-list" class="sidebar-fullList"></ul> </section> <section class="content"> <div class="content-outer"> <div id="content" class="content-inner"> <h1> <small class="visible-xs">Elixir v1.7.2</small> Integer <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L1" title="View Source" class="view-source" rel="help"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> </h1> <section id="moduledoc"> <p>Functions for working with integers.</p> <p>Some functions that work on integers are found in <a href="Kernel.html"><code class="inline">Kernel</code></a>:</p> <ul> <li><code class="inline">abs/2</code> </li> <li><a href="Kernel.html#div/2"><code class="inline">div/2</code></a> </li> <li><a href="Kernel.html#max/2"><code class="inline">max/2</code></a> </li> <li><a href="Kernel.html#min/2"><code class="inline">min/2</code></a> </li> <li><a href="Kernel.html#rem/2"><code class="inline">rem/2</code></a> </li> </ul> </section> <section id="summary" class="details-list"> <h1 class="section-heading"> <a class="hover-link" href="#summary"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this section</span> </a> Summary </h1> <div class="summary-functions summary"> <h2> <a href="#functions">Functions</a> </h2> <div class="summary-row"> <div class="summary-signature"> <a href="#digits/2">digits(integer, base \\ 10)</a> </div> <div class="summary-synopsis"><p>Returns the ordered digits for the given <code class="inline">integer</code></p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#floor_div/2">floor_div(dividend, divisor)</a> </div> <div class="summary-synopsis"><p>Performs a floored integer division</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#gcd/2">gcd(integer1, integer2)</a> </div> <div class="summary-synopsis"><p>Returns the greatest common divisor of the two given integers</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#is_even/1">is_even(integer)</a> </div> <div class="summary-synopsis"><p>Determines if an <code class="inline">integer</code> is even</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#is_odd/1">is_odd(integer)</a> </div> <div class="summary-synopsis"><p>Determines if <code class="inline">integer</code> is odd</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#mod/2">mod(dividend, divisor)</a> </div> <div class="summary-synopsis"><p>Computes the modulo remainder of an integer division</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#parse/2">parse(binary, base \\ 10)</a> </div> <div class="summary-synopsis"><p>Parses a text representation of an integer</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#to_charlist/1">to_charlist(integer)</a> </div> <div class="summary-synopsis"><p>Returns a charlist which corresponds to the text representation of the given <code class="inline">integer</code></p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#to_charlist/2">to_charlist(integer, base)</a> </div> <div class="summary-synopsis"><p>Returns a charlist which corresponds to the text representation of <code class="inline">integer</code> in the given <code class="inline">base</code></p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#to_string/1">to_string(integer)</a> </div> <div class="summary-synopsis"><p>Returns a binary which corresponds to the text representation of <code class="inline">integer</code></p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#to_string/2">to_string(integer, base)</a> </div> <div class="summary-synopsis"><p>Returns a binary which corresponds to the text representation of <code class="inline">integer</code> in the given <code class="inline">base</code></p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#undigits/2">undigits(digits, base \\ 10)</a> </div> <div class="summary-synopsis"><p>Returns the integer represented by the ordered <code class="inline">digits</code></p> </div> </div> </div> </section> <section id="functions" class="details-list"> <h1 class="section-heading"> <a class="hover-link" href="#functions"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this section</span> </a> Functions </h1> <div class="detail" id="digits/2"> <span id="digits/1"></span> <div class="detail-header"> <a href="#digits/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">digits(integer, base \\ 10)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L147" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>digits(<a href="typespecs.html#basic-types">integer</a>(), <a href="typespecs.html#basic-types">pos_integer</a>()) :: [<a href="typespecs.html#basic-types">integer</a>(), ...]</pre> </div> </div> <section class="docstring"> <p>Returns the ordered digits for the given <code class="inline">integer</code>.</p> <p>An optional <code class="inline">base</code> value may be provided representing the radix for the returned digits. This one must be an integer >= 2.</p> <h2 id="digits/2-examples" class="section-heading"> <a href="#digits/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">digits</span><span class="p" data-group-id="4368968684-1">(</span><span class="mi">123</span><span class="p" data-group-id="4368968684-1">)</span><span class="w"> </span><span class="p" data-group-id="4368968684-2">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="4368968684-2">]</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">digits</span><span class="p" data-group-id="4368968684-3">(</span><span class="mi">170</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="4368968684-3">)</span><span class="w"> </span><span class="p" data-group-id="4368968684-4">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="4368968684-4">]</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">digits</span><span class="p" data-group-id="4368968684-5">(</span><span class="o">-</span><span class="mi">170</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="4368968684-5">)</span><span class="w"> </span><span class="p" data-group-id="4368968684-6">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="4368968684-6">]</span></code></pre> </section> </div> <div class="detail" id="floor_div/2"> <div class="detail-header"> <a href="#floor_div/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">floor_div(dividend, divisor)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L120" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <span class="note">(since 1.4.0)</span> <div class="specs"> <pre>floor_div(<a href="typespecs.html#basic-types">integer</a>(), <a href="typespecs.html#basic-types">neg_integer</a>() | <a href="typespecs.html#basic-types">pos_integer</a>()) :: <a href="typespecs.html#basic-types">integer</a>()</pre> </div> </div> <section class="docstring"> <p>Performs a floored integer division.</p> <p>Raises an <a href="ArithmeticError.html"><code class="inline">ArithmeticError</code></a> exception if one of the arguments is not an integer, or when the <code class="inline">divisor</code> is <code class="inline">0</code>.</p> <p><a href="Integer.html#floor_div/2"><code class="inline">Integer.floor_div/2</code></a> performs <em>floored</em> integer division. This means that the result is always rounded towards negative infinity.</p> <p>If you want to perform truncated integer division (rounding towards zero), use <a href="Kernel.html#div/2"><code class="inline">Kernel.div/2</code></a> instead.</p> <h2 id="floor_div/2-examples" class="section-heading"> <a href="#floor_div/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">floor_div</span><span class="p" data-group-id="8354922466-1">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="8354922466-1">)</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">floor_div</span><span class="p" data-group-id="8354922466-2">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">4</span><span class="p" data-group-id="8354922466-2">)</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">floor_div</span><span class="p" data-group-id="8354922466-3">(</span><span class="o">-</span><span class="mi">99</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="8354922466-3">)</span><span class="w"> </span><span class="o">-</span><span class="mi">50</span></code></pre> </section> </div> <div class="detail" id="gcd/2"> <div class="detail-header"> <a href="#gcd/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">gcd(integer1, integer2)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L404" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <span class="note">(since 1.5.0)</span> <div class="specs"> <pre>gcd(0, 0) :: 0</pre> <pre>gcd(<a href="typespecs.html#basic-types">integer</a>(), <a href="typespecs.html#basic-types">integer</a>()) :: <a href="typespecs.html#basic-types">pos_integer</a>()</pre> </div> </div> <section class="docstring"> <p>Returns the greatest common divisor of the two given integers.</p> <p>The greatest common divisor (GCD) of <code class="inline">integer1</code> and <code class="inline">integer2</code> is the largest positive integer that divides both <code class="inline">integer1</code> and <code class="inline">integer2</code> without leaving a remainder.</p> <p>By convention, <code class="inline">gcd(0, 0)</code> returns <code class="inline">0</code>.</p> <h2 id="gcd/2-examples" class="section-heading"> <a href="#gcd/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">gcd</span><span class="p" data-group-id="1733773911-1">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="1733773911-1">)</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">gcd</span><span class="p" data-group-id="1733773911-2">(</span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p" data-group-id="1733773911-2">)</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">gcd</span><span class="p" data-group-id="1733773911-3">(</span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">12</span><span class="p" data-group-id="1733773911-3">)</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">gcd</span><span class="p" data-group-id="1733773911-4">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="1733773911-4">)</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">gcd</span><span class="p" data-group-id="1733773911-5">(</span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p" data-group-id="1733773911-5">)</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">gcd</span><span class="p" data-group-id="1733773911-6">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p" data-group-id="1733773911-6">)</span><span class="w"> </span><span class="mi">0</span></code></pre> </section> </div> <div class="detail" id="is_even/1"> <div class="detail-header"> <a href="#is_even/1" class="detail-link" title="Link to this macro"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this macro</span> </a> <span class="signature">is_even(integer)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L65" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <span class="note">(macro)</span> </div> <section class="docstring"> <p>Determines if an <code class="inline">integer</code> is even.</p> <p>Returns <code class="inline">true</code> if the given <code class="inline">integer</code> is an even number, otherwise it returns <code class="inline">false</code>.</p> <p>Allowed in guard clauses.</p> <h2 id="is_even/1-examples" class="section-heading"> <a href="#is_even/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_even</span><span class="p" data-group-id="4937250107-1">(</span><span class="mi">10</span><span class="p" data-group-id="4937250107-1">)</span><span class="w"> </span><span class="no">true</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_even</span><span class="p" data-group-id="4937250107-2">(</span><span class="mi">5</span><span class="p" data-group-id="4937250107-2">)</span><span class="w"> </span><span class="no">false</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_even</span><span class="p" data-group-id="4937250107-3">(</span><span class="o">-</span><span class="mi">10</span><span class="p" data-group-id="4937250107-3">)</span><span class="w"> </span><span class="no">true</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_even</span><span class="p" data-group-id="4937250107-4">(</span><span class="mi">0</span><span class="p" data-group-id="4937250107-4">)</span><span class="w"> </span><span class="no">true</span></code></pre> </section> </div> <div class="detail" id="is_odd/1"> <div class="detail-header"> <a href="#is_odd/1" class="detail-link" title="Link to this macro"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this macro</span> </a> <span class="signature">is_odd(integer)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L40" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <span class="note">(macro)</span> </div> <section class="docstring"> <p>Determines if <code class="inline">integer</code> is odd.</p> <p>Returns <code class="inline">true</code> if the given <code class="inline">integer</code> is an odd number, otherwise it returns <code class="inline">false</code>.</p> <p>Allowed in guard clauses.</p> <h2 id="is_odd/1-examples" class="section-heading"> <a href="#is_odd/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_odd</span><span class="p" data-group-id="5779521690-1">(</span><span class="mi">5</span><span class="p" data-group-id="5779521690-1">)</span><span class="w"> </span><span class="no">true</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_odd</span><span class="p" data-group-id="5779521690-2">(</span><span class="mi">6</span><span class="p" data-group-id="5779521690-2">)</span><span class="w"> </span><span class="no">false</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_odd</span><span class="p" data-group-id="5779521690-3">(</span><span class="o">-</span><span class="mi">5</span><span class="p" data-group-id="5779521690-3">)</span><span class="w"> </span><span class="no">true</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">is_odd</span><span class="p" data-group-id="5779521690-4">(</span><span class="mi">0</span><span class="p" data-group-id="5779521690-4">)</span><span class="w"> </span><span class="no">false</span></code></pre> </section> </div> <div class="detail" id="mod/2"> <div class="detail-header"> <a href="#mod/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">mod(dividend, divisor)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L86" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <span class="note">(since 1.4.0)</span> <div class="specs"> <pre>mod(<a href="typespecs.html#basic-types">integer</a>(), <a href="typespecs.html#basic-types">neg_integer</a>() | <a href="typespecs.html#basic-types">pos_integer</a>()) :: <a href="typespecs.html#basic-types">integer</a>()</pre> </div> </div> <section class="docstring"> <p>Computes the modulo remainder of an integer division.</p> <p><a href="Integer.html#mod/2"><code class="inline">Integer.mod/2</code></a> uses floored division, which means that the result will always have the sign of the <code class="inline">divisor</code>.</p> <p>Raises an <a href="ArithmeticError.html"><code class="inline">ArithmeticError</code></a> exception if one of the arguments is not an integer, or when the <code class="inline">divisor</code> is <code class="inline">0</code>.</p> <h2 id="mod/2-examples" class="section-heading"> <a href="#mod/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">mod</span><span class="p" data-group-id="8901500711-1">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p" data-group-id="8901500711-1">)</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">mod</span><span class="p" data-group-id="8901500711-2">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">4</span><span class="p" data-group-id="8901500711-2">)</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span></code></pre> </section> </div> <div class="detail" id="parse/2"> <span id="parse/1"></span> <div class="detail-header"> <a href="#parse/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">parse(binary, base \\ 10)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L236" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>parse(<a href="typespecs.html#built-in-types">binary</a>(), 2..36) :: {<a href="typespecs.html#basic-types">integer</a>(), <a href="typespecs.html#built-in-types">binary</a>()} | :error</pre> </div> </div> <section class="docstring"> <p>Parses a text representation of an integer.</p> <p>An optional <code class="inline">base</code> to the corresponding integer can be provided. If <code class="inline">base</code> is not given, 10 will be used.</p> <p>If successful, returns a tuple in the form of <code class="inline">{integer, remainder_of_binary}</code>. Otherwise <code class="inline">:error</code>.</p> <p>Raises an error if <code class="inline">base</code> is less than 2 or more than 36.</p> <p>If you want to convert a string-formatted integer directly to an integer, <a href="String.html#to_integer/1"><code class="inline">String.to_integer/1</code></a> or <a href="String.html#to_integer/2"><code class="inline">String.to_integer/2</code></a> can be used instead.</p> <h2 id="parse/2-examples" class="section-heading"> <a href="#parse/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-1">(</span><span class="s">"34"</span><span class="p" data-group-id="2679791159-1">)</span><span class="w"> </span><span class="p" data-group-id="2679791159-2">{</span><span class="mi">34</span><span class="p">,</span><span class="w"> </span><span class="s">""</span><span class="p" data-group-id="2679791159-2">}</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-3">(</span><span class="s">"34.5"</span><span class="p" data-group-id="2679791159-3">)</span><span class="w"> </span><span class="p" data-group-id="2679791159-4">{</span><span class="mi">34</span><span class="p">,</span><span class="w"> </span><span class="s">".5"</span><span class="p" data-group-id="2679791159-4">}</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-5">(</span><span class="s">"three"</span><span class="p" data-group-id="2679791159-5">)</span><span class="w"> </span><span class="ss">:error</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-6">(</span><span class="s">"34"</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p" data-group-id="2679791159-6">)</span><span class="w"> </span><span class="p" data-group-id="2679791159-7">{</span><span class="mi">34</span><span class="p">,</span><span class="w"> </span><span class="s">""</span><span class="p" data-group-id="2679791159-7">}</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-8">(</span><span class="s">"f4"</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p" data-group-id="2679791159-8">)</span><span class="w"> </span><span class="p" data-group-id="2679791159-9">{</span><span class="mi">244</span><span class="p">,</span><span class="w"> </span><span class="s">""</span><span class="p" data-group-id="2679791159-9">}</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-10">(</span><span class="s">"Awww++"</span><span class="p">,</span><span class="w"> </span><span class="mi">36</span><span class="p" data-group-id="2679791159-10">)</span><span class="w"> </span><span class="p" data-group-id="2679791159-11">{</span><span class="mi">509216</span><span class="p">,</span><span class="w"> </span><span class="s">"++"</span><span class="p" data-group-id="2679791159-11">}</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-12">(</span><span class="s">"fab"</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p" data-group-id="2679791159-12">)</span><span class="w"> </span><span class="ss">:error</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">parse</span><span class="p" data-group-id="2679791159-13">(</span><span class="s">"a2"</span><span class="p">,</span><span class="w"> </span><span class="mi">38</span><span class="p" data-group-id="2679791159-13">)</span><span class="w"> </span><span class="gt">** (ArgumentError) invalid base 38</span></code></pre> </section> </div> <div class="detail" id="to_charlist/1"> <div class="detail-header"> <a href="#to_charlist/1" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">to_charlist(integer)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L344" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>to_charlist(<a href="typespecs.html#basic-types">integer</a>()) :: <a href="typespecs.html#built-in-types">charlist</a>()</pre> </div> </div> <section class="docstring"> <p>Returns a charlist which corresponds to the text representation of the given <code class="inline">integer</code>.</p> <p>Inlined by the compiler.</p> <h2 id="to_charlist/1-examples" class="section-heading"> <a href="#to_charlist/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="5033166101-1">(</span><span class="mi">123</span><span class="p" data-group-id="5033166101-1">)</span><span class="w"> </span><span class="sc">'123'</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="5033166101-2">(</span><span class="o">+</span><span class="mi">456</span><span class="p" data-group-id="5033166101-2">)</span><span class="w"> </span><span class="sc">'456'</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="5033166101-3">(</span><span class="o">-</span><span class="mi">789</span><span class="p" data-group-id="5033166101-3">)</span><span class="w"> </span><span class="sc">'-789'</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="5033166101-4">(</span><span class="mi">0123</span><span class="p" data-group-id="5033166101-4">)</span><span class="w"> </span><span class="sc">'123'</span></code></pre> </section> </div> <div class="detail" id="to_charlist/2"> <div class="detail-header"> <a href="#to_charlist/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">to_charlist(integer, base)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L368" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>to_charlist(<a href="typespecs.html#basic-types">integer</a>(), 2..36) :: <a href="typespecs.html#built-in-types">charlist</a>()</pre> </div> </div> <section class="docstring"> <p>Returns a charlist which corresponds to the text representation of <code class="inline">integer</code> in the given <code class="inline">base</code>.</p> <p><code class="inline">base</code> can be an integer between 2 and 36.</p> <p>Inlined by the compiler.</p> <h2 id="to_charlist/2-examples" class="section-heading"> <a href="#to_charlist/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="2591974711-1">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p" data-group-id="2591974711-1">)</span><span class="w"> </span><span class="sc">'64'</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="2591974711-2">(</span><span class="o">-</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p" data-group-id="2591974711-2">)</span><span class="w"> </span><span class="sc">'-64'</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_charlist</span><span class="p" data-group-id="2591974711-3">(</span><span class="mi">882_681_651</span><span class="p">,</span><span class="w"> </span><span class="mi">36</span><span class="p" data-group-id="2591974711-3">)</span><span class="w"> </span><span class="sc">'ELIXIR'</span></code></pre> </section> </div> <div class="detail" id="to_string/1"> <div class="detail-header"> <a href="#to_string/1" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">to_string(integer)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L294" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>to_string(<a href="typespecs.html#basic-types">integer</a>()) :: <a href="String.html#t:t/0">String.t</a>()</pre> </div> </div> <section class="docstring"> <p>Returns a binary which corresponds to the text representation of <code class="inline">integer</code>.</p> <p>Inlined by the compiler.</p> <h2 id="to_string/1-examples" class="section-heading"> <a href="#to_string/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="0826880691-1">(</span><span class="mi">123</span><span class="p" data-group-id="0826880691-1">)</span><span class="w"> </span><span class="s">"123"</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="0826880691-2">(</span><span class="o">+</span><span class="mi">456</span><span class="p" data-group-id="0826880691-2">)</span><span class="w"> </span><span class="s">"456"</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="0826880691-3">(</span><span class="o">-</span><span class="mi">789</span><span class="p" data-group-id="0826880691-3">)</span><span class="w"> </span><span class="s">"-789"</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="0826880691-4">(</span><span class="mi">0123</span><span class="p" data-group-id="0826880691-4">)</span><span class="w"> </span><span class="s">"123"</span></code></pre> </section> </div> <div class="detail" id="to_string/2"> <div class="detail-header"> <a href="#to_string/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">to_string(integer, base)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L319" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>to_string(<a href="typespecs.html#basic-types">integer</a>(), 2..36) :: <a href="String.html#t:t/0">String.t</a>()</pre> </div> </div> <section class="docstring"> <p>Returns a binary which corresponds to the text representation of <code class="inline">integer</code> in the given <code class="inline">base</code>.</p> <p><code class="inline">base</code> can be an integer between 2 and 36.</p> <p>Inlined by the compiler.</p> <h2 id="to_string/2-examples" class="section-heading"> <a href="#to_string/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="7822057768-1">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p" data-group-id="7822057768-1">)</span><span class="w"> </span><span class="s">"64"</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="7822057768-2">(</span><span class="o">-</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p" data-group-id="7822057768-2">)</span><span class="w"> </span><span class="s">"-64"</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">to_string</span><span class="p" data-group-id="7822057768-3">(</span><span class="mi">882_681_651</span><span class="p">,</span><span class="w"> </span><span class="mi">36</span><span class="p" data-group-id="7822057768-3">)</span><span class="w"> </span><span class="s">"ELIXIR"</span></code></pre> </section> </div> <div class="detail" id="undigits/2"> <span id="undigits/1"></span> <div class="detail-header"> <a href="#undigits/2" class="detail-link" title="Link to this function"> <span class="icon-link" aria-hidden="true"></span> <span class="sr-only">Link to this function</span> </a> <span class="signature">undigits(digits, base \\ 10)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/integer.ex#L176" class="view-source" rel="help" title="View Source"> <span class="icon-code" aria-hidden="true"></span> <span class="sr-only">View Source</span> </a> <div class="specs"> <pre>undigits([<a href="typespecs.html#basic-types">integer</a>()], <a href="typespecs.html#basic-types">pos_integer</a>()) :: <a href="typespecs.html#basic-types">integer</a>()</pre> </div> </div> <section class="docstring"> <p>Returns the integer represented by the ordered <code class="inline">digits</code>.</p> <p>An optional <code class="inline">base</code> value may be provided representing the radix for the <code class="inline">digits</code>. Base has to be an integer greater or equal than <code class="inline">2</code>.</p> <h2 id="undigits/2-examples" class="section-heading"> <a href="#undigits/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Examples </h2> <pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">undigits</span><span class="p" data-group-id="7616699934-1">(</span><span class="p" data-group-id="7616699934-2">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p" data-group-id="7616699934-2">]</span><span class="p" data-group-id="7616699934-1">)</span><span class="w"> </span><span class="mi">123</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">undigits</span><span class="p" data-group-id="7616699934-3">(</span><span class="p" data-group-id="7616699934-4">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p" data-group-id="7616699934-4">]</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p" data-group-id="7616699934-3">)</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="gp unselectable">iex> </span><span class="nc">Integer</span><span class="o">.</span><span class="n">undigits</span><span class="p" data-group-id="7616699934-5">(</span><span class="p" data-group-id="7616699934-6">[</span><span class="p" data-group-id="7616699934-6">]</span><span class="p" data-group-id="7616699934-5">)</span><span class="w"> </span><span class="mi">0</span></code></pre> </section> </div> </section> <footer class="footer"> <p> <span class="line"> Built using <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.19.1), </span> <span class="line"> designed by <a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>. </span> </p> </footer> </div> </div> </section> </div> <script src="dist/app-a0c90688fa.js"></script> </body> </html>