将 NSString 值转换为 int

Convert NSString value to int

这听起来很奇怪。

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

我尝试过的:

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

NSLog 输出 - numba is 2038735264

实际上是 428。

有什么办法可以达到目的吗?谢谢!

那是responseObject的一块:

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

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

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

正在尝试这样的事情。

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