Конвертировать NSString в Unsigned long - PullRequest
6 голосов
/ 03 мая 2011

У меня есть NSString значение, которое я хочу преобразовать в unsigned long. Я использовал код ниже

NSString *updateId = [NSString stringWithFormat:@"%@",[tweet updateId]];

NSLog(@"%@",[tweet updateId]);
unsigned long  tweetId = [updateId longLongValue];
NSLog(@"ButtonPressed: .......%llu",tweetId);

Но это не возвращает правильное значение ...

Ответы [ 3 ]

11 голосов
/ 03 мая 2011

Какао можно было бы использовать [NSNumberFormater] 1 :

NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init];
NSLog(@"%lu", [[formatter numberFromString:updateId] unsignedLongValue]);
[formatter release];

Какого типа [твит updateId]?
Содержит ли он какую-либо локализацию (например, тысячи разделителей)?
Если это так, вы можете настроить экземпляр NSNumberFormatter на setLocale:

0 голосов
/ 14 ноября 2013
unsigned long tweetId = [[NSNumber numberWithInteger:[updateId integerValue]] unsignedLongValue];
0 голосов
/ 03 мая 2011

Вы можете попробовать функцию atol из C stdlib:

unsigned long tweetId = atol( [ updateId cStringUsingEncoding: NSASCIIStringEncoding ] );

И, кстати, ваш NSLog должен быть lu, а не llu.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...