Search code examples
iosobjective-cfloating-pointnsstringnsnumberformatter

Add commas to every three digits in the number which is in float format


I have a float number in a string, I need to add commas to every three digits of the number.

Here is what I had tried,

NSString *mystring =@"20090809.99";
float fl = [mystring floatValue];
NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSLog(@"%@ ", [formatter stringFromNumber:[NSNumber numberWithFloat:fl]]);

I need the result as 20,090,809.99. What should I change in my code?


Solution

  • How about this:

    NSString *mystring =@"20090809.99";
    NSNumber *number = [NSDecimalNumber decimalNumberWithString:mystring];    
    NSNumberFormatter *formatter = [NSNumberFormatter new];
    [formatter setNumberStyle:NSNumberFormatterDecimalStyle];
    NSLog(@"Formatted float: %@ ", [formatter stringFromNumber:number]);