Estoy tratando de convertir una cadena de números, introducidos por el usuario, en una secuencia sexy como Phone.app en el iPhone. Aquí está el código que estoy usando, que no funciona (no sale ningún formato especial) y después de un cierto número de dígitos simplemente comienza a agregar "0" al final de la cadena.NSNumberFormatter para formatear números de teléfono de EE. UU.
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterNoStyle];
[formatter setPositiveFormat:@"+# (###) ###-###"];
[formatter setLenient:YES];
NSString *strDigits = [self stringByReplacingOccurrencesOfRegex:@"[^0-9+]" withString:@""];
return [formatter stringFromNumber:[NSNumber numberWithDouble:[strDigits doubleValue]]];