Comment formater un nombre en dollars en PHP
-
08-07-2019 - |
Question
Comment convertir un nombre en chaîne contenant des dollars et des cents?
eg:
123.45 => '$123.45'
123.456 => '$123.46'
123 => '$123.00'
.13 => '<*>.13'
.1 => '<*>.10'
0 => '<*>.00'
La solution
PHP a également money_format () .
Voici un exemple:
echo money_format('$%i', 3.4); // echos '$3.40'
Cette fonction a en fait une tonne d'options, consultez la documentation à laquelle j'ai lié pour les voir.
Remarque: money_format n'est pas défini dans Windows.
Autres conseils
Si vous voulez juste quelque chose de simple:
'
. number_format($money, 2);
J'ai essayé money_format ()
mais cela n'a pas fonctionné du tout pour moi. alors j'ai essayé le suivant. cela a fonctionné parfaitement pour moi. Espérons que cela fonctionnera de la bonne manière pour vous aussi ..:)
vous devriez utiliser celui-ci
number_format($money, 2,'.', ',')
il affichera le nombre d'argent en termes de format monétaire jusqu'à 2 décimales.
En PHP et C ++, vous pouvez utiliser la fonction printf ()
printf("$%01.2f", $money);
Dans php.ini, ajoutez ceci (s'il est manquant):
#windows
extension=php_intl.dll
#linux
extension=php_intl.so
Ensuite, faites ceci:
$amount = 123.456;
// for Canadian Dollars
$currency = 'CAD';
// for Canadian English
$locale = 'en_CA';
$fmt = new \NumberFormatter( $locale, \NumberFormatter::CURRENCY );
echo $fmt->formatCurrency($amount, $currency);