1

我有一个数组:

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

现在让我们说我想添加

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

我知道我需要将数组部分转换为 NSNumber,但如果可能的话,我找不到任何说明如何做到这一点的东西。另外我应该补充一点,这些数字是作为 NSString 输入的,要改变这将是非常痛苦的,并且可以作为最后的手段来完成。

4

2 回答 2

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])];

如果你最终使用浮点值,你可以替换intValuefloatValue

于 2012-05-03T07:16:31.010 回答
1

你可以这样做

NSNumber *number = (NSNumber*)[NSMutableArray objectAtIndex:1];
于 2012-05-03T07:24:16.343 回答