【问题标题】:NSMutableArray to NSNumberNSMutableArray 到 NSNumber
【发布时间】:2012-05-03 07:12:24
【问题描述】:

我有一个数组:

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

现在让我们说我要添加

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

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

【问题讨论】:

    标签: objective-c nsmutablearray nsarray nsnumber


    【解决方案1】:

    您可以像这样从字符串中获取 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

    【讨论】:

      【解决方案2】:

      你可以这样做

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

      【讨论】:

        猜你喜欢
        • 2016-09-02
        • 1970-01-01
        • 1970-01-01
        • 2014-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-22
        • 1970-01-01
        相关资源
        最近更新 更多