If you're looking for the pattern syntax, their documentation is here: http://unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::setPattern -- numfmt_set_pattern — Configure le modèle du formateur
Style orienté objet
Style procédural
Configure le modèle utilisé par le formateur. Ne peut pas être utilisé avec un formateur basé sur les règles.
formatter
L'objet NumberFormatter.
pattern
Le modèle, dans la syntaxe décrite dans la » documentation ICU DecimalFormat.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Exemple #1 Exemple avec numfmt_set_pattern(), Style procédural
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo "Modèle : ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Modèle : ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>
Exemple #2 Exemple avec numfmt_set_pattern(), style POO
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo "Modèle : ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Modèle : ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>
L'exemple ci-dessus va afficher :
Modèle : #,##0.### 1.234.567,891 Modèle : #0.# kg 1234567,9 kg
If you're looking for the pattern syntax, their documentation is here: http://unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns
setPattern appears to influence only the behavior of the format method, not the parse method of the NumberFormatter object.
$pattern = '#,##0';
$frmtr = NumberFormatter::create('en-US', NumberFormatter::DECIMAL);
$frmtr->setPattern($pattern);
echo $frmtr->parse('12.345');
// returns 12