<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.money-format.php',
    1 => 'money_format',
    2 => 'Formata um n&uacute;mero como uma string de moeda',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fun&ccedil;&otilde;es de String',
  ),
  'prev' => 
  array (
    0 => 'function.metaphone.php',
    1 => 'metaphone',
  ),
  'next' => 
  array (
    0 => 'function.nl-langinfo.php',
    1 => 'nl_langinfo',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/strings/functions/money-format.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.money-format" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">money_format</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.3.0, PHP 5, PHP 7)</p><p class="refpurpose"><span class="refname">money_format</span> &mdash; <span class="dc-title">Formata um número como uma string de moeda</span></p>

 </div>

 <div id="function.money-format-refsynopsisdiv">
   <div class="warning"><strong class="warning">Aviso</strong><p class="simpara">Esta função foi
<em>DESCONTINUADA</em> a partir do PHP 7.4.0 e foi <em>REMOVIDA</em> a partir do PHP 8.0.0. O uso desta função
é fortemente desencorajado.</p></div>
 </div>

 <div class="refsect1 description" id="refsect1-function.money-format-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>money_format</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$format</code></span>, <span class="methodparam"><span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$number</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>money_format()</strong></span> retorna uma versão formatada do número
   informado no parâmetro <code class="parameter">number</code>. Esta função engloba a biblioteca de
   função do C <span class="function"><strong>strfmon()</strong></span>, com a diferença que esta
   implementação converte apenas um número por vez.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.money-format-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">format</code></dt>
     <dd>
      <p class="para">
       A especificação do formato consiste na seguinte sequência:
       <ul class="itemizedlist">
        <li class="listitem"><p class="para">um caractere <code class="literal">%</code></p></li>
        <li class="listitem"><p class="para">opções facultativas</p></li>
        <li class="listitem"><p class="para">largura de campo, opcional</p></li>
        <li class="listitem"><p class="para">precisão à esquerda, opcional</p></li>
        <li class="listitem"><p class="para">precisão à direita, opcional</p></li>
        <li class="listitem"><p class="para">conversão de caractere, requerida</p></li>
       </ul>
      </p>
      <p class="formalpara">
       <h5 class="title">Opções</h5>
       <p class="para">
        Uma ou mais das opções abaixo podem ser usadas:
        <dl>
         
          <dt><code class="literal">=</code><span class="replaceable">f</span></dt>
          <dd>
           <p class="para">
            O caracter <code class="literal">=</code> seguido por um caractere (único byte)
            <span class="replaceable">f</span> para ser usado como o caractere númerico de
            preenchimento. O caractere de preenchimento padrão é o espaço.
           </p>
          </dd>
         
         
          <dt><code class="literal">^</code></dt>
          <dd>
           <p class="para">
            Desabilita o uso de agrupamento de caractere (como definido
            pela localidade atual).
           </p>
          </dd>
         
         
          <dt><code class="literal">+</code> ou <code class="literal">(</code></dt>
          <dd>
           <p class="para">
            Especifica o estilo de formatação para números positivos e negativos.
            Se <code class="literal">+</code> for usado, o equivalente da localidade para
            <code class="literal">+</code> e <code class="literal">-</code> será usado. Se
            <code class="literal">(</code> for usado, quantidades negativas são fechadas entre parênteses.
            se nenhuma especificação é passada, o padrão será
            <code class="literal">+</code>.
           </p>
          </dd>
         
         
          <dt><code class="literal">!</code></dt>
          <dd>
           <p class="para">
            Suprime o símbolo atual da string de saída.
           </p>
          </dd>
         
         
          <dt><code class="literal">-</code></dt>
          <dd>
           <p class="para">
            Se presente, isto fará todos os campos justificados à esquerda (arrumados para a
            direita), em oposição ao padrão que é para campos serem justificados à direita
            (arrumados para a esquerda).
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">Largura de campo</h5>
       <p class="para">
        <dl>
         
          <dt><span class="replaceable">w</span></dt>
          <dd>
           <p class="para">
            Uma string de dígito decimal especificando uma largura de campo mínima. O campo
            será justificado à direita a menos que a opção <code class="literal">-</code> seja usada.
            Valor padrão é 0 (zero) por definição.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">Precisão à esquerda</h5>
       <p class="para">
        <dl>
         
          <dt><code class="literal">#</code><span class="replaceable">n</span></dt>
          <dd>
           <p class="para">
            O número máximo de dígitos (<span class="replaceable">n</span>) esperado à
            esquerda do caracatere separador de decimais (ex.: vírgula). Isto é usado
            normalmente para manter a saída formatada alinhada nas mesmas colunas,
            usando o caractere de preenchimento se o número de dígitos for menor que
            <span class="replaceable">n</span>. Se o número de dígitos atual for maior que
            <span class="replaceable">n</span>, esta especificação é
            ignorada.
           </p>
           <p class="para">
            Se o agrupamento foi suprimido usando a opção <code class="literal">^</code>,
            separadores de agrupamento serão inseridos antes dos caracteres de
            preenchimento (se houver), mesmo se o caractere de preenchimento
            for um dígito.
           </p>
           <p class="para">
            Para garantir alinhamento, quaisquer caracteres que ocorrerem antes ou depois do
            número na saída formatada, como moeda ou símbolos de sinal, são arrumados conforme
            necessário, com caracteres de espaço para fazer seus formatos positivos e negativos
            em um comprimento igual.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">
        Precisão à direita
       </h5>
       <p class="para">
        <dl>
         
          <dt><code class="literal">.</code><span class="replaceable">p</span></dt>
          <dd>
           <p class="para">
            Um ponto seguido por um número de dígitos (<span class="replaceable">p</span>) depois
            do caractere separador de decimais. Se o valor de <span class="replaceable">p</span> for 0 (zero), o
            caractere separador de decimais e os digitos à sua direita serão omitidos. Se nenhuma precisão à
            direita for incluida, o padrão será ditado pela localidade atual em uso. A quantidade sendo
            formatada é arredondada para o número de dígitos especificados a priori para ser
            formatado.

           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">
        Caracteres de conversão
       </h5>
       <p class="para">
        <dl>
         
          <dt><code class="literal">i</code></dt>
          <dd>
           <p class="para">
            O número é formatado de acordo com o formato de moeda internacional da localidade
            (ex. para a localidade en_US: USD 1,234.56).
           </p>
          </dd>
         
         
          <dt><code class="literal">n</code></dt>
          <dd>
           <p class="para">
            O número é formatado de acordo com o formato de moeda nacional da localidade
            (ex. para a localidade de_DE: DM1.234,56).
           </p>
          </dd>
         
         
          <dt><code class="literal">%</code></dt>
          <dd>
           <p class="para">
            Retorna o caractere <code class="literal">%</code>.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
     </dd>
    
    
     <dt><code class="parameter">number</code></dt>
     <dd>
      <p class="para">
       O número a ser formatado.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.money-format-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="para">
   Retorna a string formatada. Os caracteres antes e depois da string de
   formatação serão retornados sem modificação.
   O parâmetro <code class="parameter">number</code> com dígitos inválidos causa o retorno de <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> e
   o lançamento de um <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.money-format-changelog">
  <h3 class="title">Registro de Alterações</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Versão</th>
       <th>Descrição</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        Esta função foi removida.
       </td>
      </tr>

      <tr>
       <td>7.4.0</td>
       <td>
        Esta função foi descontinuada. Utilize
        <span class="methodname"><a href="numberformatter.formatcurrency.php" class="methodname">NumberFormatter::formatCurrency()</a></span> em seu lugar.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.money-format-examples">
  <h3 class="title">Exemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemplo #1 Exemplo de <span class="function"><strong>money_format()</strong></span></strong></p>
    <div class="example-contents"><p>
     Diferentes localidades e especificações de formatos são usados no exemplo abaixo para
     ilustrar o uso desta função.
    </p></div>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$number </span><span style="color: #007700">= </span><span style="color: #0000BB">1234.56</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Exibindo o formato internacional para a localidade en_US<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_MONETARY</span><span style="color: #007700">, </span><span style="color: #DD0000">'en_US'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">money_format</span><span style="color: #007700">(</span><span style="color: #DD0000">'%i'</span><span style="color: #007700">, </span><span style="color: #0000BB">$number</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// USD 1,234.56<br /><br />// Formato italiano com duas casas decimais<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_MONETARY</span><span style="color: #007700">, </span><span style="color: #DD0000">'it_IT'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">money_format</span><span style="color: #007700">(</span><span style="color: #DD0000">'%.2n'</span><span style="color: #007700">, </span><span style="color: #0000BB">$number</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// Eu 1.234,56<br /><br />// Usando número negativo<br /></span><span style="color: #0000BB">$number </span><span style="color: #007700">= -</span><span style="color: #0000BB">1234.5672</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Formato nacional americano, usando () para números negativos<br />// e 10 dígitos de precisão à esquerda<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_MONETARY</span><span style="color: #007700">, </span><span style="color: #DD0000">'en_US'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">money_format</span><span style="color: #007700">(</span><span style="color: #DD0000">'%(#10n'</span><span style="color: #007700">, </span><span style="color: #0000BB">$number</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// ($        1,234.57)<br /><br />// Formato similar ao anterior, adicionando o uso de 2 dígitos para precisão<br />// à direita e '*' como caractere de preenchimento<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">money_format</span><span style="color: #007700">(</span><span style="color: #DD0000">'%=*(#10.2n'</span><span style="color: #007700">, </span><span style="color: #0000BB">$number</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// ($********1,234.57)<br /><br />// Valor alinhado à esquerda, com 14 posições de largura, 8 dígitos de<br />// precisão à esquerda, 2 à direita, sem caractere de agrupamento<br />// e usando o formato internacional da localidade de_DE.<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_MONETARY</span><span style="color: #007700">, </span><span style="color: #DD0000">'de_DE'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">money_format</span><span style="color: #007700">(</span><span style="color: #DD0000">'%=*^-14#8.2i'</span><span style="color: #007700">, </span><span style="color: #0000BB">1234.56</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// Eu 1234,56****<br /><br />// Adicionando texto antes e depois da especificação de conversão<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_MONETARY</span><span style="color: #007700">, </span><span style="color: #DD0000">'en_GB'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$fmt </span><span style="color: #007700">= </span><span style="color: #DD0000">'O valor final é %i (depois de 10%% de desconto)'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">money_format</span><span style="color: #007700">(</span><span style="color: #0000BB">$fmt</span><span style="color: #007700">, </span><span style="color: #0000BB">1234.56</span><span style="color: #007700">) . </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// O valor final é  GBP 1,234.56 (depois de 10%% de desconto)<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.money-format-notes">
  <h3 class="title">Notas</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    A função <span class="function"><strong>money_format()</strong></span> é apenas definida se
    o sistema tem capacidades de strfmon. Por exemplo, o Windows não tem esta definição,
    portanto, <span class="function"><strong>money_format()</strong></span> está indefinida no Windows.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    A categoria <strong><code><a href="string.constants.php#constant.lc-monetary">LC_MONETARY</a></code></strong> de configurações de localidade,
    afeta o comportamento desta função. Utilize <span class="function"><a href="function.setlocale.php" class="function">setlocale()</a></span> para definir
    a localidade padrão adequadamente antes de usar esta função.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.money-format-seealso">
  <h3 class="title">Veja Também</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.setlocale.php" class="function" rel="rdfs-seeAlso">setlocale()</a> - Define informa&ccedil;&atilde;o de localidade</span></li>
    <li><span class="function"><a href="function.sscanf.php" class="function" rel="rdfs-seeAlso">sscanf()</a> - Interpreta a entrada de uma string de acordo com um formato</span></li>
    <li><span class="function"><a href="function.sprintf.php" class="function" rel="rdfs-seeAlso">sprintf()</a> - Retona uma string formatada</span></li>
    <li><span class="function"><a href="function.printf.php" class="function" rel="rdfs-seeAlso">printf()</a> - Envia uma string formatada para a sa&iacute;da</span></li>
    <li><span class="function"><a href="function.number-format.php" class="function" rel="rdfs-seeAlso">number_format()</a> - Formata um n&uacute;mero com milhares agrupados</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>