Dans PHP, la fonction monery_format est un outil couramment utilisé pour formater les nombres en formulaires de devise. Il ajuste la méthode d'affichage des symboles de devise, des séparateurs et des décimales en fonction des paramètres régionaux du système. Cette fonction peut facilement formater la valeur en une forme de devise avec un millième de valeur.
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$format</span></span><span> , </span><span><span class="hljs-keyword">float</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span> )
</span></span>
$ format : est une chaîne formatée qui contient généralement des symboles de devise (telles que $ , € , etc.) ainsi que des caractères formatés tels que des milliers et des caractères décimaux.
Numéro de $ : est un nombre qui doit être formaté.
Avant d'utiliser la fonction Money_Format , vous devez définir la zone correcte pour vous assurer que la sortie formatée correspond au format de devise que vous souhaitez. PHP définit la région via la fonction SetLocale .
<span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-string">'en_US.UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// Se fixer comme une région anglophone américaine,Utilisez des panneaux en dollars et des milliers</span></span><span>
</span></span>
Dans cette ligne de code, nous définissons la région sur nous anglais en_us.utf-8 , ce qui signifie que tous les formats liés à la devise adopteront les normes américaines, y compris le panneau en dollars , les milliers et le point décimal .
Ensuite, vous pouvez utiliser Money_Format pour formater le montant. Par exemple, supposons que vous souhaitiez formater un nombre en tant que monnaie:
<span><span><span class="hljs-variable">$amount</span></span><span> = </span><span><span class="hljs-number">1234567.89</span></span><span>;
</span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%.2n'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedAmount</span></span><span>; </span><span><span class="hljs-comment">// Sortir:$1,234,567.89</span></span><span>
</span></span>
La chaîne formatée '% .2n' ici signifie:
% .2 : signifie que deux décimales sont conservées.
N : indique que le nombre avec des symboles de devise est sorti et s'adapte aux paramètres de la zone actuelle.
Si vous souhaitez formater le montant des différents symboles de devise (par exemple, Euro, Pound, etc.), il vous suffit d'ajuster le lieu. Par exemple:
<span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-string">'de_DE.UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// Se dérouler en tant que région en Allemagne,Utilisez le symbole Euro</span></span><span>
</span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%.2n'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedAmount</span></span><span>; </span><span><span class="hljs-comment">// Sortir:1.234.567,89 €</span></span><span>
</span></span>
Dans les paramètres régionaux allemands, le format de devise change , le millième est modifié et le symbole de point décimal devient , et le symbole de la devise est le symbole de l'euro € .
Money_Format ne peut être utilisé que dans les systèmes d'exploitation qui prennent en charge cette fonction. En général, Money_Format est disponible sur des systèmes de type UNIX tels que Linux et MacOS, mais peut ne pas être disponible sur les systèmes Windows. Si votre environnement de développement est Windows, vous pouvez envisager d'utiliser d'autres méthodes de formatage, telles que Number_Format .
Money_Format adaptera automatiquement le format en fonction des paramètres de la région actuelle, de sorte que différents résultats de formatage peuvent être obtenus dans différentes régions.
Si vous n'avez pas besoin de compter sur les paramètres régionaux du système ou de travailler dans des systèmes qui ne prennent pas en charge Money_Format , vous pouvez utiliser la fonction Number_Format de Php pour formater manuellement le montant et ajouter les milliers:
<span><span><span class="hljs-variable">$formattedAmount</span></span><span> = </span><span><span class="hljs-string">'$'</span></span><span> . </span><span><span class="hljs-title function_ invoke__">number_format</span></span><span>(</span><span><span class="hljs-variable">$amount</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'.'</span></span><span>, </span><span><span class="hljs-string">','</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$formattedAmount</span></span><span>; </span><span><span class="hljs-comment">// Sortir:$1,234,567.89</span></span><span>
</span></span>
La fonction Number_Format fournit les paramètres suivants:
Le premier paramètre: numéro.
Le deuxième paramètre: le nombre de chiffres conservés après le point décimal.
Le troisième paramètre: le symbole du point décimal (généralement . ).
Le quatrième paramètre: le millième signe (généralement , ).
La fonction Money_format de PHP est un outil très pratique, en particulier lorsqu'il s'agit de formatage des devises, il peut automatiquement ajuster le format en fonction des paramètres de différentes régions, économisant beaucoup de problèmes de traitement manuel. Cependant, n'oubliez pas de vérifier si votre environnement de développement prend en charge cette fonction. Si ce n'est pas le cas, vous pouvez utiliser Number_Format à la place.