Dynamically create a NSString stringWithFormat: output
13,043
NSLog (@"%@",[NSString stringWithFormat:@"%010d",i]);
The meaning of format string components:
- 1st 0 - means that the number must be padded to specific width with zeros
- 10 - required minimum width of output
For more information about format specifiers you can check this printf specification. I sometimes also use this shorter one - you can find your example there.
You can create your format string dynamically as well - you'll need to calculate maximum number length in advance (maxLength in example):
NSString* format = [NSString stringWithFormat:@"%%0%dd", maxLength];
NSString *s = [NSString stringWithFormat:format, 10];
NSLog(@"%@", s);
Author by
Admin
Updated on June 13, 2022Comments
-
Admin almost 2 years
trying to figure out how to add zeroes in front of a random generated number with dynamic length of the number. For example if the number is 10 characters long, I can print the number as stringWithFormat:@"%.10d",i
Since the numer can somtimes be shorter than maximum length, it needs zeroes to fill the maximum length of the number to fit the string.
- (void)method:(int)length{ int i = rand() % length; NSLog (@"%@",[NSString stringWithFormat:@"%.'length'd",i]); }