on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::format -- numfmt_format — Formate un nombre
Style orienté objet
$num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseStyle procédural
$formatter
, int|float $num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseFormate une valeur numérique, selon les règles du formateur.
formatter
L'objet NumberFormatter.
num
La valeur à formater. Ce peut être un int ou un float. Les autres valeurs seront converties en valeur numérique avant le formatage.
type
Le type de format.
Notez que NumberFormatter::TYPE_CURRENCY
n'est pas pris en charge ;
utilisez NumberFormatter::formatCurrency() à la place.
Retourne la chaîne contenant la valeur formatée, ou false
en cas d'erreur.
Exemple #1 Exemple avec numfmt_format(), Style procédural
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
report_error("Erreur de formateur");
}
?>
Exemple #2 Exemple avec numfmt_format(), style POO
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
report_error("Erreur de formateur");
}
?>
L'exemple ci-dessus va afficher :
1.234.567,891
Note:
Les formats réalisables par cette méthode de formatage ne peuvent pas utiliser pleinement les possibilités de la bibliothèque ICU sous-jacente, comme par exemple le formatage de la monnaie avec un symbole monétaire court.
Pour les utiliser pleinement, utilisez msgfmt_format_message().
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.