Для небольшого числа, такого как «100023», это допустимо для «longlongvalue». Тем не менее, если количество цифр превышает 10, в которых обычно рассматривается вариант использования длинного значения. Затем вы столкнетесь с этой проблемой, например:
String value "86200054340607012013"
до
@"86200054340607012013" integerValue or intValue
вы получите это в заявлении на печать
2147483647
если вы делаете
@"86200054340607012013" longlongvalue
вы получите это в заявлении на печать
9223372036854775807
Это работает для меня и распечатывает ожидаемое число.
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:@"2394739287439284734723"];
NSLog(@"longlong: %llu", [myNumber longLongValue]);