<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.money-format.php',
    1 => 'money_format',
    2 => 'Met un nombre au format mon&eacute;taire',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fonctions sur les cha&icirc;nes de caract&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'function.metaphone.php',
    1 => 'metaphone',
  ),
  'next' => 
  array (
    0 => 'function.nl-langinfo.php',
    1 => 'nl_langinfo',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    '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">Met un nombre au format monétaire</span></p>

 </div>
 
 <div id="function.money-format-refsynopsisdiv">
  <div class="warning"><strong class="warning">Avertissement</strong><p class="simpara">
 Cette fonction est <em>OBSOLÈTE</em> à partir de PHP 7.4.0,
 et a été <em>SUPPRIMÉE</em> à partir de PHP 8.0.0.
 Dépendre de cette fonction est fortement déconseillé.
</p></div>
 </div>

 <div class="refsect1 description" id="refsect1-function.money-format-description">
  <h3 class="title">Description</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> retourne une version formatée du nombre
   <code class="parameter">number</code>. Cette fonction fait l&#039;interface avec
   la fonction <span class="function"><strong>strfmon()</strong></span> de la bibliothèque C, à la
   différence près que cette implémentation ne convertit qu&#039;un nombre à la fois.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.money-format-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">format</code></dt>
     <dd>
      <p class="para">
       Le paramètre de format est constitué de la séquence suivante :
       <ul class="itemizedlist">
        <li class="listitem"><p class="para">un caractère <code class="literal">%</code></p></li>
        <li class="listitem"><p class="para">une configuration optionnelle</p></li>
        <li class="listitem"><p class="para">une taille de champ optionnelle</p></li>
        <li class="listitem"><p class="para">une précision à gauche optionnelle</p></li>
        <li class="listitem"><p class="para">une précision à droite optionnelle</p></li>
        <li class="listitem"><p class="para">un caractère de conversion obligatoire</p></li>
       </ul>
      </p>
      <p class="formalpara">
       <h5 class="title">Drapeaux</h5>
       <p class="para">
        Une ou plusieurs des configurations suivantes sont utilisables :
        <dl>
         
          <dt><code class="literal">=</code><span class="replaceable">f</span></dt>
          <dd>
           <p class="para">
            Le caractère <code class="literal">=</code> suivi par un octet unique
            <span class="replaceable">f</span> qui sera utilisé comme caractère
            de remplissage. Le caractère de remplissage par défaut est
            espace.
           </p>
          </dd>
         
         
          <dt><code class="literal">^</code></dt>
          <dd>
           <p class="para">
            Désactive le groupage de caractères (tel que défini dans la
            configuration locale).
           </p>
          </dd>
         
         
          <dt><code class="literal">+</code> ou <code class="literal">(</code></dt>
          <dd>
           <p class="para">
            Spécifie le style de formatage pour les nombres positifs et
            négatifs. Si <code class="literal">+</code> est utilisé, les équivalents
            dans la configuration locale de <code class="literal">+</code> et 
            <code class="literal">-</code> seront utilisés. Si 
            <code class="literal">(</code> est utilisé, les sommes négatives seront
            placées entre parenthèses. Si aucune spécification n&#039;est fournie,
            la valeur par défaut est <code class="literal">+</code>.
           </p>
          </dd>
         
         
          <dt><code class="literal">!</code></dt>
          <dd>
           <p class="para">
            Supprime le simple monétaire dans la chaîne finale.
           </p>
          </dd>
         
         
          <dt><code class="literal">-</code></dt>
          <dd>
           <p class="para">
            Si fourni, cette configuration fait que les champs seront justifiés
            à gauche (complétés à droite), au contraire de la configuration par
            défaut qui est justifiée à droite, et complétée à gauche.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">Taille du champ</h5>
       <p class="para">
        <dl>
         
          <dt><span class="replaceable">w</span></dt>
          <dd>
           <p class="para">
            Un nombre décimal qui spécifie la taille minimale du champ.
            Le champ sera complété à gauche, à moins que la configuration
            <code class="literal">-</code> ne soit utilisée. Par défaut, cette
            valeur est de 0.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">Précision à gauche</h5>
       <p class="para">
        <dl>
         
          <dt><code class="literal">#</code><span class="replaceable">n</span></dt>
          <dd>
           <p class="para">
            Le nombre maximal de chiffres (<span class="replaceable">n</span>) attendus
            à gauche du séparateur décimal (e.g. la virgule). Cette option est
            généralement utilisée pour conserver l&#039;alignement de colonnes de
            nombres, en utilisant un caractère pour compléter le nombre si ce
            dernier a moins de <span class="replaceable">n</span> chiffres. Si le nombre
            réel de chiffres est plus grand que <span class="replaceable">n</span>, 
            cette spécification est ignorée.
           </p>
           <p class="para">
            Si le groupage n&#039;a pas été supprimé via la configuration 
            <code class="literal">^</code>, les séparateurs de groupage seront insérés
            avant le caractère de remplissage (le cas échéant). Les séparateurs
            ne seront pas appliqués aux caractères de remplissage, même si
            ce caractère est un nombre.
           </p>
           <p class="para">
            Pour s&#039;assurer de l&#039;alignement, tous les caractères apparaissant
            avant et après le nombre formaté, tels que les symboles monétaires
            ou les signes négatif et positif, seront placés au même endroit grâce
            à des espaces supplémentaires, afin que toutes les tailles des nombres
            soient les mêmes.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">Précision à droite</h5>
       <p class="para">
        <dl>
         
          <dt><code class="literal">.</code><span class="replaceable">p</span></dt>
          <dd>
           <p class="para">
            Un point suivi par un nombre de décimales (<span class="replaceable">p</span>).
            Si la valeur de <span class="replaceable">p</span> est 0 (zéro), le 
            séparateur décimal et les décimales seront supprimés. Si aucune
            précision à droite n&#039;est précisée, la valeur par défaut sera
            lue dans la configuration locale. Le nombre formaté sera alors
            arrondi pour satisfaire les contraintes d&#039;affichage.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
      <p class="formalpara">
       <h5 class="title">Caractères de conversion</h5>
       <p class="para">
        <dl>
         
          <dt><code class="literal">i</code></dt>
          <dd>
           <p class="para">
            Le nombre est formaté suivant le format monétaire international
            de la configuration locale (e.g. pour la France : 1 234,56 F).
           </p>
          </dd>
         
         
          <dt><code class="literal">n</code></dt>
          <dd>
           <p class="para">
            Le nombre est formaté en fonction du format monétaire national
            (e.g. pour la configuration <code class="literal">de_DE</code> :
            <code class="literal">EU1.234,56</code>).
           </p>
          </dd>
         
         
          <dt><code class="literal">%</code></dt>
          <dd>
           <p class="para">
            Retourne le caractère <code class="literal">%</code>.
           </p>
          </dd>
         
        </dl>
       </p>
      </p>
     </dd>
    
    
     <dt><code class="parameter">number</code></dt>
     <dd>
      <p class="para">
       Le nombre à formater.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.money-format-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne la chaîne formatée. Les caractères avant et après la chaîne
   formatée seront retournés, inchangés.
   Une valeur non-numérique pour <code class="parameter">number</code> retourne <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> 
   et émet une alerte <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">Historique</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        Cette fonction a été supprimée.
       </td>
      </tr>

      <tr>
       <td>7.4.0</td>
       <td>
        Cette fonction est obsolète. Utiliser
        <span class="methodname"><a href="numberformatter.formatcurrency.php" class="methodname">NumberFormatter::formatCurrency()</a></span> à la place.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.money-format-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>money_format()</strong></span></strong></p>
    <div class="example-contents"><p>
     Voici plusieurs exemples d&#039;utilisation de la fonction
     <span class="function"><strong>money_format()</strong></span> avec différentes chaînes
     de formatage, et configurations locales.
    </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">// Affichons ce nombre au format international pour 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 />// Et au format italien national avec 2 decimales<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">// L. 1.234,56<br /><br />// Utilisation d'un nombre négatif<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">// Format US national, avec les parenthèeses pour les nombres négatifs<br />// et 10 chiffres de précision à gauche<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 />// Format similaire au précédent, en ajoutant 2 décimales<br />// pour la précision à droite, et en utilisant le caractère de remplissage '*'<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 />// Utilisons maintenant la justification à gauche, avec un champ de 14 caractères<br />// de long, sans groupage de chiffres, et en utilisant le format international<br />// pour 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">// DEM 1234,56****<br /><br />// Ajoutons encore à l'exemple précédent<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">'La valeur finale est %i (après 10 %% de remise)'</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">// La valeur finale est GBP 1,234.56 (après 10 % de remise)<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">Notes</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    La fonction <span class="function"><strong>money_format()</strong></span> est uniquement définie si
    le système a les capacités <code class="literal">strfmon</code>. Par exemple, Windows
    ne les a pas, donc, <span class="function"><strong>money_format()</strong></span> n&#039;est pas définie
    sous Windows.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    La catégorie <strong><code><a href="string.constants.php#constant.lc-monetary">LC_MONETARY</a></code></strong> de la configuration locale
    affecte le comportement de cette fonction. Utiliser
    <span class="function"><a href="function.setlocale.php" class="function">setlocale()</a></span> pour configurer correctement PHP avant
    d&#039;utiliser cette fonction.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.money-format-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.setlocale.php" class="function" rel="rdfs-seeAlso">setlocale()</a> - Modifie les informations de localisation</span></li>
    <li><span class="function"><a href="function.sscanf.php" class="function" rel="rdfs-seeAlso">sscanf()</a> - Analyse une cha&icirc;ne &agrave; l'aide d'un format</span></li>
    <li><span class="function"><a href="function.sprintf.php" class="function" rel="rdfs-seeAlso">sprintf()</a> - Retourne une cha&icirc;ne format&eacute;e</span></li>
    <li><span class="function"><a href="function.printf.php" class="function" rel="rdfs-seeAlso">printf()</a> - Affiche une cha&icirc;ne de caract&egrave;res format&eacute;e</span></li>
    <li><span class="function"><a href="function.number-format.php" class="function" rel="rdfs-seeAlso">number_format()</a> - Formate un nombre pour l'affichage</span></li>
   </ul>
  </p>
 </div>


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