Klasa NumberFormatter formatuje wartości liczbowe (typu int, uint lub Number) zgodnie z konwencjami właściwymi dla konkretnych ustawień narodowych.
Poniższy przykład ilustruje najprostszy sposób sformatowania liczby przy użyciu domyślnych właściwości formatowania udostępnionych przez system operacyjny użytkownika:
var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT);
trace(nf.formatNumber(-123456.789))
Wynik zależy od ustawień narodowych i preferencji wybranych przez użytkownika. Na przykład, jeśli ustawienia narodowe użytkownika to fr-FR, sformatowana wartość będzie miała postać:
-123.456,789
Jeśli chcemy po prostu sformatować liczbę zgodnie z określonymi ustawieniami narodowymi, niezależnie od ustawień użytkownika, można podać wprost nazwę ustawień. Na przykład:
var nf:NumberFormatter = new NumberFormatter("de-CH");
trace(nf.formatNumber(-123456.789));
W tym przypadku wynik jest następujący:
-123'456.789
Parametrem metody formatNumber() jest obiekt Number. Klasa NumberFormatter zawiera także metodę formatInt(), której parametrem jest obiekt typu int, oraz metodę formatUint(), której parametrem jest obiekt uint.
Istnieje możliwość bezpośredniego sterowania logiką formatowania poprzez ustawianie właściwości klasy NumberFormatter, co ilustruje poniższy przykład:
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)
Przykładowy kod najpierw tworzy obiekt NumberFormatter, a następnie:
-
wybiera format zapisu liczb ujemnych w nawiasach (odpowiedni do zastosowań finansowych);
-
ustawia liczbę cyfr po separatorze dziesiętnym na 5;
-
określa, że ewentualne brakujące miejsca dziesiętne powinny być dopełnione do pięciu zerami końcowymi;
-
jako separator dziesiętny ustawia przecinek;
-
nakazuje niestosowanie separatorów grup.
Uwaga:
Zmiana niektórych właściwości powoduje, że uzyskany format liczb nie będzie już zgodny z formatem preferowanym dla danych ustawień narodowych. Niektóre z tych właściwości powinny być używane tylko w sytuacji, gdy rozpoznanie ustawień narodowych nie jest istotne, gdy konieczne jest precyzyjne sterowanie jednym aspektem formatu, jak np. liczba zer wiodących, lub gdy użytkownik ręcznie wprowadza zmiany, np. za pośrednictwem Panelu sterowania systemu Windows.