Position actuelle: Accueil> Derniers articles> Comment produire un format de devise de deux décimales à l'aide de Money_Format?

Comment produire un format de devise de deux décimales à l'aide de Money_Format?

gitbox 2025-05-26

Quelle est la fonction Money_Format ?

Money_Format est une fonction de mise en forme intégrée dans PHP, qui est utilisée pour formater les chaînes de devises en fonction des paramètres régionaux. Sa syntaxe est la suivante:

<code> String Money_Format (String $ format, Float $ numéro) </code>
  • $ format est une chaîne de format qui définit le format de sortie.

  • Le numéro $ est le numéro qui doit être formaté.

Il convient de noter que la fonction Money_Format dépend du lieu du système. Si les paramètres régionaux ne sont pas réglés correctement, le symbole ou le format de devise peut ne pas être affiché correctement.


Configuration des paramètres régionaux

Avant d'appeler Money_Format , vous devez utiliser la fonction SetLocale pour définir l'environnement de zone approprié. Par exemple, réglé sur l'environnement anglais des États-Unis:

<code> setLocale (lc_monetary, 'en_us.utf-8'); </code>

Si votre système ne prend pas en charge ce lieu, il doit être ajusté en fonction de l'environnement du serveur.


Description de la chaîne de format

La chaîne de format de Money_Format commence par % et peut avoir plusieurs modificateurs après:

  • % I : Format de devise international (y compris le code de devise, comme USD)

  • % n : format de devise local (y compris les symboles de devise)


Exemple de code: Gardez le format de devise standard de deux décimales

Supposons que nous ayons un montant de 1234,5 et que nous voulions utiliser Money_Format pour produire le format avec des panneaux en dollars, des minimites et conserver les deux décimales.

<code> <? Php // Définissez l'environnement régional sur American English SetLocale (LC_MONETARY, 'EN_US.UTF-8');

$ Montant = 1234,5;

// Utilisez le format% n pour produire un format de monnaie local, conservez deux décimales par défaut
$ formated = Money_format ('% n', $ montant);

écho $ formaté;
?>
</code>

Le résultat de sortie est généralement:

<code> 1 234,50 $ </code>

Choses à noter

  1. La fonction Money_Format n'est valide que sur les systèmes Linux / Unix et n'est pas pris en charge dans l'environnement Windows.

  2. Après PHP 7.4, il est officiellement recommandé d'utiliser la classe NumberFormatter au lieu de Money_Format car ce dernier a été marqué comme abandonné.

  3. Si vous devez utiliser la plate-forme multiplateuse et compatible avec les nouvelles versions PHP, il est recommandé d'utiliser NumberFormatter .


Alternatives de compatibilité (recommandées)

Implémentez les mêmes fonctionnalités à l'aide de NumberFormatter :

<code> <? Php $ montant = 1234,5; $ formatter = new NumberFormatter ('en_us', NumberFormatter :: Currency); Echo $ format-monnaie ($ Montant, «USD»); ?> </code>

La sortie est la même:

<code> 1 234,50 $ </code>

Conclusion

Bien que Money_Format soit toujours utilisé dans de nombreux anciens projets, il est recommandé d'utiliser la classe NumberFormatter pour formater la devise pour la compatibilité et les considérations de maintenance futures. Cet article montre comment utiliser la sortie Money_format pour conserver le format de devise standard de deux décimales, et fournit une alternative moderne qui permet aux développeurs de faire des choix flexibles en fonction de leurs besoins.