Note that [f numberFromString:@"4.5"] returns NSNumber* not a NSString*
You want something like this:
NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterNoStyle; NSNumber *myNumber; NSString *myString; myNumber = [f numberFromString:@"4.5"]; [f setNumberStyle:kCFNumberFormatterDecimalStyle]; myString = [f stringFromNumber:myNumber]; NSLog(@"myString: %@",myString); myNumber = [f numberFromString:@"000"];
NSLog Output:
myString: 4.5
myString: 000
If you do not have lines to start, just create a number, for example:
myNumber = [NSNumber numberWithFloat:4.5]; myNumber = [NSNumber numberWithInt:0];
Or just use standard formatting:
myString = [NSString stringWithFormat:@"%.1f", [myNumber floatValue]]; myString = [NSString stringWithFormat:@"%03d", [myNumber intValue]];
Or, if you do not need an NSNumber , just use standard formatting:
myString = [NSString stringWithFormat:@"%.1f", 4.5]; myString = [NSString stringWithFormat:@"%03d", 0];
source share