which is the correct specifier to use for long when calling stringWithFormat?
-
06-02-2021 - |
Question
I have this code which works well but I don't know if it is the correct way to call stringWithFormat because in the documentation %d is for int and I'm passing a long:
long seconds = (long)[[NSDate date]timeIntervalSince1970];
NSString *unixTimestamp = [NSString stringWithFormat:@"date=%d", seconds];
Thanks in advance!
Solution
Try %ld
:
NSString *unixTimestamp = [NSString stringWithFormat:@"date=%ld", seconds];
Abstract from printf docs (NSString's stringWithFormat format follows the same standard as printf function):
l (ell)
Specifies that a following d, i, o, u, x, or X conversion specifier applies to a long or unsigned long argument
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow