Formater un nombre en un montant en dollars en PHP
-
Formater un nombre en un montant en dollars en PHP à l’aide de la fonction
number_format
-
Formater un nombre en un montant en dollars en PHP à l’aide de la fonction
NumberFormatter::formatCurrency
- Formater un nombre en un montant en dollars en PHP à l’aide d’une expression régulière
- Formater manuellement un nombre en un montant en dollars en PHP
Cet article de didacticiel couvrira différentes méthodes pour formater un nombre en un montant en dollars en PHP avec des exemples. Ceux-ci inclus:
number_format
NumberFormatter::formatCurrency
Regular expressions
Manual format
Nous verrons également pourquoi la fonction money_format
n’est plus utilisée.
Formater un nombre en un montant en dollars en PHP à l’aide de la fonction number_format
Nous utilisons la fonction number_format
pour organiser une valeur avec des milliers groupés tout en ajoutant des décimales et un type de devise.
La fonction a quatre paramètres :
number_format(NUMBER, DECIMAL DIGITS, THOUSANDS SEPARATOR, DECIMAL SEPARATOR)
- Le nombre est la valeur à formater.
- Les chiffres décimaux spécifient le nombre de décimales.
- Le séparateur décimal identifie la chaîne à utiliser pour le point décimal.
- Le séparateur de milliers indique la chaîne utilisée comme séparateur de milliers.
Il convient de noter que si le paramètre séparateur de milliers est utilisé, les trois autres doivent l’accompagner pour que votre code fonctionne.
Exemple de code :
<?php
// NUMBER
$amount = 123.45;
// TO USD - $123.45
$usd = "$" . number_format($amount, 2, ".");
echo $usd;
?>
Production :
$123.45
Formater un nombre en un montant en dollars en PHP à l’aide de la fonction NumberFormatter::formatCurrency
Il s’agit de la méthode la plus récente et sans doute la plus simple pour formater des nombres en chaînes montrant différentes devises.
Assurez-vous que extension=intl
est activé dans php.ini
.
Il y a trois paramètres que vous devez garder à l’esprit :
- Formatter, qui est l’objet
NumberFormatter
. - Montant, qui est la valeur numérique de la devise.
- L’ISO 4217 dicte la devise à utiliser.
Exemple de code :
<?php
// NUMBER
$amount = 123;
// TO USD - $123.00
$fmt = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>
Production :
$123.00
Exemple deux :
<?php
// NUMBER
$amount = 123.456;
// TO USD - $123.46
$fmt = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>
Production :
$123.46
Formater un nombre en un montant en dollars en PHP à l’aide d’une expression régulière
Cette méthode est toute une boîte de Pandore. Entrer dans ses détails ne fera que vous embrouiller.
Cette méthode organise les nombres en milliers tout en ajoutant le signe monétaire de votre choix.
Prenons un exemple :
<?php
// NUMBER
$amount = 0.13;
// REGULAR EXPRESSION
$regex = "/\B(?=(\d{3})+(?!\d))/i";
$usd = "$" . preg_replace($regex, ",", $amount);
echo $usd;
?>
Production :
$0.13
Formater manuellement un nombre en un montant en dollars en PHP
Cette méthode équivaut à crocheter une serrure avec une force brutale. Cette méthode vous donne l’avantage d’utiliser n’importe quel format que vous voulez.
Prenons un exemple :
<?php
// FOR A DOLLAR CURRENCY
function curformat ($amount) {
// SPLIT WHOLE & DECIMALS
$amount = explode(".", $amount);
$whole = $amount[0];
$decimal = isset($amount[1]) ? $amount[1] : "00" ;
// ADD THOUSAND SEPARATORS
if (strlen($whole) > 3) {
$temp = ""; $j = 0;
for ($i=strlen($whole)-1; $i>=0; $i--) {
$temp = $whole[$i] . $temp;
$j++;
if ($j%3==0 && $i!=0) { $temp = "," . $temp; }
}
$whole = $temp;
}
// RESULT
return "\$$whole.$decimal";
}
// UNIT TEST
echo curformat(100); // $100.00
Production :
$100.00
Les méthodes ci-dessus doivent formater un nombre en une chaîne indiquant des dollars et des cents.
Il existe une autre méthode appelée money_format
, mais elle ne fonctionne pas sous Windows. Nous vous déconseillons fortement d’utiliser cette fonction car ils l’ont dépréciée.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn