En algún momento de su desarrollo de Mac, iPhone o iPad, puede encontrar la necesidad de expresar un número largo (1000000000) como una cadena separada por comas (1,000,000,000) para hacer la vida más fácil para sus usuarios. La clase NSNumberFormatter es una herramienta enriquecida para convertir números en cadenas que admiten diferentes tipos de monedas y localizaciones. También es la clase perfecta para aprovechar nuestra tarea de comas.
En primer lugar, la clase NSNumberFormatter funciona en objetos NSNumber, por lo que necesitamos convertir nuestro número a un NSNumber si aún no está allí.NSNumber * number = [NSNumber numberWithInt: 1000000000];
NSNumber también admite valores de punto flotante (numberWithFloat) y la banda regular de otros formatos de números.
Con nuestro NSNumber en la mano, podemos continuar con las cosas buenas. NSNumberFormatter admite la agrupación de dígitos numéricos en grupos de longitud arbitraria (queremos grupos de tres) y separa grupos con cadenas arbitrarias (queremos usar una coma (@ ",") pero podemos usar cualquier cadena). Aquí está el código que hace nuestra cadena:
NSNumberFormatter * frmtr = [[NSNumberFormatter alloc] init];
[frmtr setGroupingSize: 3];
[frmtr setGroupingSeparator: @ ","];
[frmtr setUsesGroupingSeparator: YES];
NSString * commaString = [frmtr stringFromNumber: number];
Lea más sobre los trucos locos de NSNumberFormatter aquí. También puede hacer cosas geniales como escribir un número como 42 en cuarenta y dos y manejar dígitos significativos.