Search code examples
iosobjective-cnsnumberformatter

specific number formatter to a phone number


I want to display the the number in the following format

and the format is "123-456-7890"

I am using

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterNoStyle];
[formatter setPositiveFormat:@"###-###-####"];
[formatter setLenient:YES];

amountField.text =[formatter stringFromNumber:[NSNumber numberWithDouble:[rxAlertResponse.rxPhoneNo doubleValue]]];
NSLog(@"%@",amountField.text);

I am using the above code to do that but the code is not reflecting ..... and the out put appear as 1234567890 only can any body help how to do that.


Solution

  • Use this formatter:

    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
        //[formatter setNumberStyle:NSNumberFormatterNoStyle];
        //[formatter setPositiveFormat:@"###-###-####"]; 
        [formatter setGroupingSeparator:@"-"];
        [formatter setGroupingSize:4];
        [formatter setUsesGroupingSeparator:YES];
           [formatter setSecondaryGroupingSize:3];
        //[formatter setLenient:YES];
        NSString *num = @"1234567890";
        NSString *str = [formatter stringFromNumber:[NSNumber numberWithInt:[num intValue]]];
        NSLog(@"%@",str);