从阅读这个问题很多,我想我可能会明白你想要什么。
的出发点似乎是:
NSLog(@"add string is: %@",addString);// result is: 45,1
而且目前的终点是:
NSLog(@"myInt is: %d",myInt);// result is: 45
但似乎你仍然想打印出45,1
我猜测这是你有一个2字符串[@“45”,@“1”]的数组,称为arrayyyy
,你想要打印出两个值作为整数。如果是这样,那么我想你想的是:
NSInteger myInt1 = [[arrayyyy objectAtIndex:0] intValue];
NSInteger myInt2 = [[arrayyyy objectAtIndex:1] intValue];
NSLog(@"add string is: %d,%d",myInt1,myInt2);
注意这将有NSRangeException可怕的崩溃,如果没有在阵列中至少两个字符串。因此,在最起码你应该做的:
NSInteger myInt1 = -1;
NSInteger myInt2 = -1;
if ([arrayyyy length] >0) myInt1 = [[arrayyyy objectAtIndex:0] intValue];
if ([arrayyyy length] >1) myInt2 = [[arrayyyy objectAtIndex:1] intValue];
NSLog(@"add string is: %d,%d",myInt1,myInt2);
但即便如此糟糕,因为它假定的-1
的防护值将不会出现在实际的数据。
以及,如果结果是45,其转换为int。 [addString intValue]转换为int,[addString integerValue]转换为NSInteger。 – 2012-03-09 13:09:55
http://stackoverflow.com/questions/4791470/convert-nsstring-to-nsinteger – bdparrish 2012-03-09 13:09:59
@ user993223你是什么意思“将字符串转换为整数”?你想达到什么结果? – 2012-03-09 13:10:15