将NSString转换为Unsigned long

时间:2011-05-03 07:15:52

标签: ios nsstring

我想要在NSString中转换unsigned long值。我使用下面的代码

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

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

但它没有返回正确的值......

3 个答案:

答案 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];