You probably want to set the minimumFractionDigits
to 1 (and your maximumFractionDigits
as well in this case).
You also probably don't want to use significant digits. The following code yields the desired output:
NSString *theString = @"2400.0";
float f = [theString floatValue];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMinimumFractionDigits:1];
[formatter setMaximumFractionDigits:1];
[formatter setLocale:[NSLocale currentLocale]];
NSLog(@"%@", [formatter stringFromNumber:@(f)]);