【问题标题】:Adding math symbols in a string [closed]在字符串中添加数学符号[关闭]
【发布时间】:2012-09-18 04:31:11
【问题描述】:

我如何在不使用+ 符号的情况下添加ab,因为我在c 变量中分配了+ 符号?

我知道如何使用上面的数据形成一个表达式,如下面的代码所示,但我不知道如何使用 NSExpression 获取该表达式的输出。

这是我的代码:

int a=10;
int b=20;
NSString *c=@"+";

NSString *d=[NSString stringWithFormat:@"%d%@%d",a,c,b];

nslog(@"d=%@",d);//d=10+20

在这之后,我如何得到答案 30?

【问题讨论】:

  • [Java][Objective-C]?
  • 看看他的代码,我会说 Objective-C。
  • 你有什么样的工作场所?
  • Objective-C 打印结果
  • @sayalSnaking:你为什么把这个问题的内容改成完全不同的东西??如果他不能阅读原始问题,没有人会理解答案!你应该发布一个新问题。

标签: objective-c add symbols


【解决方案1】:

如果要求a和b之和,可以:

-(-a-b)

【讨论】:

    【解决方案2】:

    使用数学,您可以将两个数字相加,而无需像这样使用加法

    b*=-1
    int result = a-b;
    

    【讨论】:

    • 虽然我觉得这个问题有点奇怪,但这是最聪明的解决方法!
    【解决方案3】:

    使用以下代码添加两个不带“+”号的数字。

    int add(int x, int y) {
        int carry = 0;
        int result = 0;
        int i;
    
        for(i = 0; i < 32; ++i) {
            int a = (x >> i) & 1;
            int b = (y >> i) & 1;
            result |= ((a ^ b) ^ carry) << i;
            carry = (a & b) | (b & carry) | (carry & a);
        }
    
        return result;
    }
    

    【讨论】:

    • + 循环中甚至还有两个 for 标志:)。
    • @Yogendra Joshi 你仍然可以避免 + 登录你的循环;)
    【解决方案4】:
    int a = 10;
    int b = 20;
    NSString *c = @"+";
    
    NSString *s = [NSString stringWithFormat:@"%d %@ %d", a, c, b];
    NSExpression *e = [NSExpression expressionWithFormat:s];
    int result = [[e expressionValueWithObject:nil context:nil] intValue];
    
    NSLog(@"%d", result);
    

    【讨论】:

    • 感谢马丁我得到了结果。
    • :NSArray *quantityPrice = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",nil]; NSExpression *e= [NSExpression expressionForFunction:@"add:to:" arguments:quantityPrice]; int result = [[e expressionValueWithObject:nil context:nil] intValue];使用此代码时出现错误。
    • @SnakingPrabhu:有一个更简单的解决方案:NSArray *quantityPrice = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",nil]; int result = [[quantityPrice valueForKeyPath:@"@sum.self"] intValue];
    • 感谢马丁我得到了输出...而不是求和函数,其他函数是 avg、mul、div、sub 等工作 r 不
    【解决方案5】:

    您可以编写一个函数,从字符串中提取运算符(在本例中为 +)并据此进行计算。我敦促您至少观看斯坦福大学programming course by Paul Hegarty 的前几集。您将构建一个计算器,它会做一些您想知道的事情来解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 1970-01-01
      相关资源
      最近更新 更多