La classe NumberFormatter formate les valeurs numériques (de type int, uint ou Number) en fonction des conventions de paramètres régionaux donnés.
L’exemple suivant illustre la façon la plus simple de formater un nombre en fonction des propriétés de formatage par défaut gérées par le système d’exploitation de l’utilisateur :
var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT);
trace(nf.formatNumber(-123456.789))
Le résultat varie selon les paramètres régionaux en vigueur et les préférences de l’utilisateur. Ainsi, si les paramètres régionaux de l’utilisateur correspondent à fr-FR, la valeur est formatée comme suit :
-123.456,789
Si vous souhaitez vous limiter au formatage d’un nombre en fonction de paramètres régionaux donnés, quels que soient les paramètres de l’utilisateur, définissez spécifiquement le nom des paramètres régionaux. Exemple :
var nf:NumberFormatter = new NumberFormatter("de-CH");
trace(nf.formatNumber(-123456.789));
Dans ce cas de figure, le résultat est le suivant :
-123’456.789
La méthode formatNumber() traite la valeur Number comme un paramètre. La classe NumberFormatter gère également une méthode formatInt(), qui gère l’entrée int, et une méthode formatUint(), qui gère l’entrée uint.
Pour contrôler explicitement la logique de formatage, définissez les propriétés de la classe NumberFormatter, comme illustré ci-dessous :
var nf:NumberFormatter = new NumberFormatter("de-CH");
nf.negativeNumberFormat = 0;
nf.fractionalDigits = 5;
nf.trailingZeros = true;
nf.decimalSeparator = ",";
nf.useGrouping = false;
trace(nf.formatNumber(-123456.789)); //(123456.78900)
Cet exemple commence par créer un objet NumberFormatter, puis :
-
définit le format numérique négatif de sorte à utiliser des parenthèses (comme dans les applications financières) ;
-
définit le nombre de chiffres après le séparateur décimal sur 5 ;
-
stipule l’insertion de zéros à droite pour garantir la présence de cinq décimales ;
-
définit le séparateur décimal sur une virgule ;
-
indique à la fonctionnalité de formatage de ne pas utiliser de séparateur de milliers.
Remarque :
si certaines de ces propriétés sont modifiées, le format numérique résultant ne correspond plus au format préféré associé aux paramètres régionaux indiqués. Ne faites appel à certaines de ces propriétés que si la prise en charge des paramètres régionaux est superflue, comme dans les cas de figure suivants : si un aspect unique du format doit être contrôlé avec précision (le nombre de zéros à droite, par exemple) ou si l’utilisateur demande directement la modification (via le Panneau de configuration Windows, par exemple).