在字符串中添加数学符号[关闭]

Posted

技术标签:

【中文标题】在字符串中添加数学符号[关闭]【英文标题】: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:你为什么把这个问题的内容改成完全不同的东西??如果他不能阅读原始问题,没有人会理解答案!你应该发布一个新问题。 【参考方案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 的前几集。您将构建一个计算器,它会做一些您想知道的事情来解决您的问题。

【讨论】:

以上是关于在字符串中添加数学符号[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

试图用数学符号在jsp中显示

如何根据数学符号划分字符串?

如何关闭在 dev-c++ 中显示空白字符?

将结构添加到字节向量,然后添加另一个[关闭]

替换长json字符串中的新行符号[关闭]

哪个 Unicode 字符用于下载标志? [关闭]