How can I convert number like 4273095782 to number 4 273 095 782 with NSNumberFormatter?
I use this diode but not get it
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = kCFNumberFormatterDecimalStyle;
formatter.maximumIntegerDigits = 3;
formatter.minimumFractionDigits = 3;
formatter.groupingSeparator = @" ";
formatter.decimalSeparator = @" ";
NSString *formattedNumber = [formatter stringFromNumber:p];
You need to use two properties : setGroupingSize:
for last 3 digits and setSecondaryGroupingSize:
for all other digits:
The complete implementation will go like this:
NSInteger integer = 4273095782;
NSNumberFormatter * formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setGroupingSize:3];
[formatter setSecondaryGroupingSize:3];
[formatter setGroupingSeparator:@" "];
NSString * threeSeparated = [formatter stringFromNumber:@(integer)];
NSLog(@"threeSeparated: %@", threeSeparated);
Output: 4 273 095 782