NumberFormatter 클래스는 특정 로캘의 규칙에 따라 숫자 값(int, uint 또는 Number 유형) 서식을 지정합니다.
다음 예제에서는 사용자의 운영 체제에서 제공되는 기본 서식 지정 속성을 사용하여 숫자 서식을 지정하는 가장 간단한 방법을 보여 줍니다.
var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT);
trace(nf.formatNumber(-123456.789))
결과는 사용자의 로캘 설정 및 사용자 기본 설정에 따라 달라집니다. 예를 들어 사용자의 로캘이 fr-FR인 경우 값은 다음과 같이 서식 지정됩니다.
-123.456,789
사용자 설정에 관계없이 특정 로캘에 맞춰 숫자의 서식을 지정하려면 로캘 이름을 구체적으로 설정합니다. 예를 들면 다음과 같습니다.
var nf:NumberFormatter = new NumberFormatter("de-CH");
trace(nf.formatNumber(-123456.789));
이 경우 결과는 다음과 같습니다.
-123'456.789
formatNumber() 메서드는 매개 변수로 Number를 사용합니다. 또한 NumberFormatter 클래스는 입력 값으로 int를 사용하는 formatInt() 메서드와 unit를 사용하는 formatUint() 메서드를 갖습니다.
다음 예와 같이 NumberFormatter 클래스의 속성을 설정하여 서식 지정 논리를 명시적으로 제어할 수 있습니다.
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)
이 예제에서는 먼저 NumberFormatter 객체를 만든 후 다음 작업을 수행합니다.
재무 응용 프로그램에서와 같이 괄호를 사용하도록 음수 서식을 설정합니다.
소수점 구분 기호 이후의 자릿수를 5로 설정합니다.
소수 자릿수를 항상 5자리로 유지하기 위해 후행 0을 사용하도록 지정합니다.
소수점 구분 기호를 쉼표로 설정합니다.
포맷터에서 그룹화 구분 기호를 사용하지 않도록 지정합니다.
참고: 이러한 속성 중 일부가 변경되면 결과 숫자 서식이 더 이상 지정된 로캘의 기본 서식과 일치하지 않게 됩니다. 로캘 인식이 중요하지 않은 경우, 서식 부분(예: 후행 0 수)을 세부적으로 제어해야 하는 경우 또는 Windows 제어판 등을 통해 사용자가 직접 변경을 요청하는 경우에만 이러한 속성 중 일부를 사용합니다.