如何将NSArray转换为整数值

时间:2011-02-02 14:37:19

标签: ios objective-c iphone

在我的iPhone中应用以下代码,我可以获得“i”的价值

NSMutableArray *Array = [NSMutableArray arrayWithCapacity:100];

for (NSUInteger i = 0; i < 10; i++) {          
    id a = [NSDecimalNumber numberWithDouble:i];
    [Array addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:a, @"a", nil]];
 }

但是,如果我想从数组中获取值,例如

NSArray * numberArray = [[NSArray alloc] initWithObjects:@"0.1",@"0.2",@"0.5",nil];

然后如果我想用它作为

NSMutableArray *Array = [NSMutableArray arrayWithCapacity:100];

for (NSUInteger i = 0; i < 10; i++) {          
    id a = [NSDecimalNumber numberWithDouble:[numberArray objectAtIndex:i]];
    [Array addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:a, @"a", nil]];
 }

我该怎么做?

3 个答案:

答案 0 :(得分:6)

我真的不明白,但我会尽力帮助你。

如果要将整数存储到NSArray中,请使用此代码进行设置和获取:

// Set
NSArray *yourArray = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:1], [NSNumber numberWithInt:2], [NSNumber numberWithInt:3],nil];

// Get
int currentNumber;
for(int i=0; i<[yourArray count]; i++)
{
    currentNumber = [((NSNumber*)[yourArray objectAtIndex:i]) intValue];
}

答案 1 :(得分:1)

所以你从这个数组开始,其内容由NSString个对象组成(@“0.1”是一个字符串):

NSArray * numberArray = [[NSArray alloc] initWithObjects:@"0.1",@"0.2",@"0.5",nil];

您可以使用此循环扫描每个元素:

for(NSString *strNum in numberArray) {
  float number = [strNum floatValue];
  NSLog(@"Number: %f",float);
}

由于floatValue()的{​​{1}}方法,可以进行浮动转换的字符串。

您可以将doubleValue,longLongValue,integerValue用于其他类型。如果没有给出字符串的有效数字表示,这些方法将返回0。

答案 2 :(得分:1)

可能这就是您要搜索的内容。

iphone, using an array to define in core-plot range

希望这会对你有所帮助。