La clase NumberFormatter aplica formato a valores numéricos (de tipo int, uint o Number) según las convenciones de una configuración regional específica.
El siguiente ejemplo muestra el modo más sencillo de dar formato a un número con las propiedades predeterminadas de formato proporcionadas por el sistema operativo del usuario:
var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT);
trace(nf.formatNumber(-123456.789))
El resultado variará en función de la configuración regional del usuario y de sus preferencias. Por ejemplo, si la configuración regional del usuario es fr-FR, el valor con formato sería:
-123.456,789
Si solo quiere dar formato a un número para una configuración regional específica, independientemente de la configuración del usuario, defina el nombre de la configuración regional exacta que desee. Por ejemplo:
var nf:NumberFormatter = new NumberFormatter("de-CH");
trace(nf.formatNumber(-123456.789));
Los resultados en este caso son:
-123'456.789
El método formatNumber() toma un objeto Number como parámetro. La clase NumberFormatter también tiene un método formatInt() que toma un objeto int como entrada, y un método formatUint() que toma un objeto uint.
Puede controlar de forma explícita la lógica de formato estableciendo propiedades de la clase NumberFormatter, tal como puede verse en este ejemplo:
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)
Este ejemplo primero crea un objeto NumberFormatter y después:
-
establece el formato de número negativo con paréntesis (como en aplicaciones financieras);
-
establece el número de dígitos detrás del separador decimal en 5;
-
especifica los ceros a la derecha que deben usarse para garantizar cinco posiciones decimales;
-
define el separador decimal en una coma;
-
pide al aplicador de formato no utilizar separadores de agrupación.
Nota:
al cambiar algunas de estas propiedades, el formato de número resultante ya no corresponderá al formato preferido en la configuración regional especificada. Utilice algunas de estas propiedades solo si no es importante la configuración regional; si necesita control preciso sobre algún aspecto de formato, como el número de ceros a la derecha; o si el usuario solicita el cambio directamente, por ejemplo, desde el Panel de control de Windows.