我想要在NSString
中转换unsigned long
值。我使用下面的代码
NSString *updateId = [NSString stringWithFormat:@"%@",[tweet updateId]];
NSLog(@"%@",[tweet updateId]);
unsigned long tweetId = [updateId longLongValue];
NSLog(@"ButtonPressed: .......%llu",tweetId);
但它没有返回正确的值......
答案 0 :(得分:11)
Cocoa的方式是使用[NSNumberFormater]
1:
NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init];
NSLog(@"%lu", [[formatter numberFromString:updateId] unsignedLongValue]);
[formatter release];
[tweet updateId]的类型是什么?
它是否包含任何本地化(例如千位分隔符)?
如果是,您可以使用NSNumberFormatter
setLocale:
实例
答案 1 :(得分:0)
您可以尝试使用C stdlib中的atol
函数:
unsigned long tweetId = atol( [ updateId cStringUsingEncoding: NSASCIIStringEncoding ] );
顺便说一下,你的NSLog应该是lu
,而不是llu
。
答案 2 :(得分:0)
unsigned long tweetId = [[NSNumber numberWithInteger:[updateId integerValue]] unsignedLongValue];