将NSString值转换为int

时间:2015-02-27 19:17:10

标签: objective-c nsstring

这可能听起来很奇怪。

我得到了NSString值NSString * numb = [self.dataDict valueForKey:@"id"];,我知道,这是某种整数(例如,我需要整数来比较 - 如果val小于或等于某事)。我需要知道它是什么整数。

我尝试了什么:

   NSNumber *numba = [self.dataDict valueForKey:@"id"];

NSLog输出 - numba is 2038735264

实际上那是428。

有没有办法达到这一点?谢谢!

这是一个responseObject:

(         {         id = 3;         狗=" \ U041a \ U0430 \ U043a \ U043e \ U0439- \ U0442 \ U043e \ U043c \ U0443 \ U0434 \ U0430 \ U043a \ U043d \ U0430 \ U043a \ U0440 \ U0443 \ U0442 \ U0438 \ U043b" ;         image =" cute_dog / 116.jpg&#34 ;;         得分= 586;     },         {         id = 115;         dog =" \ U0422 \ U0430 \ U043d \ U044f \ U041a \ U043b \ U044e \ U043a \ U0432 \ U0438 \ U043d \ U0430&#34 ;;         image =" cute_dog / 115.jpg&#34 ;;         得分= 481;     },

2 个答案:

答案 0 :(得分:5)

您可以使用多种方法将NSString转换为数字。你想要什么数字类型?

NSString *string = self.dataDict[@"id"];
int intValue = string.intValue;
NSInteger integerValue = string.integerValue;
long long longLongValue = string.longLongValue;

答案 1 :(得分:1)

尝试这样的事情。

NSNumber *numba = [NSNumber numberWithInt[self.dataDict valueForKey:@"id"]];
//For string
NSString *stringValue = [numba stringValue];
//For integer
NSInteger integer = [numba integerValue];