NSMutableArray到NSNumber

时间:2012-05-03 07:12:24

标签: objective-c nsmutablearray nsarray nsnumber

我有一个数组:

12, "+", 56, "+", "", "(", 56, "+", 65, ")"

现在让我们说我想添加

[NSMutableArray objectAtIndex: 1] + [NSMutableArray objectAtIndex: 3]

我知道我需要将数组部分转换为NSNumber,但是如果可能的话,我找不到任何说明如何做的事情。此外,我应该补充说,数字是作为NSString放入并改变,这将是非常痛苦的,可以作为最后的手段。

2 个答案:

答案 0 :(得分:2)

您可以从字符串中获取nsnumber:

NSString *str = @"222";
NSNumber *num = [NSNumber numberWithInt:[str intValue]];

所以要从数组转换为nsnumber:

[NSNumber numberWithInt:[[NSMutableArray objectAtIndex: 1] intValue]];

但请记住,你不能直接将两个nsnumber对象一起添加,它必须是这样的:

NSNumber *sum = [NSNumber numberWithInt:([one intValue] + [two intValue])];

如果您最终使用浮动值,则只需将intValue替换为floatValue

答案 1 :(得分:1)

你可以像

那样做
NSNumber *number = (NSNumber*)[NSMutableArray objectAtIndex:1];