Objective-c基础:将字符串转换为运算符?

Objective-c基础:将字符串转换为运算符?,objective-c,macos,math,Objective C,Macos,Math,在使用grapher应用程序时,我想知道以下几点: 我的字符串等于:3*10;(例如) 我希望我的整数变量直接等于该字符串的数学结果 like:int result=我的字符串结果(因为它是一个运算符) 我希望我说得够清楚了 哪种方法最简单? 谢谢您可以使用类似的方法,但您需要知道字符串的格式: NSPredicate * pred = [NSPredicate predicateWithFormat:@"3*10 = 0"]; NSExpression * first = [(

在使用grapher应用程序时,我想知道以下几点:

我的字符串等于:3*10;(例如)

我希望我的整数变量直接等于该字符串的数学结果

like:int result=我的字符串结果(因为它是一个运算符)

我希望我说得够清楚了

哪种方法最简单?
谢谢

您可以使用类似的方法,但您需要知道字符串的格式:

    NSPredicate * pred = [NSPredicate predicateWithFormat:@"3*10 = 0"];
    NSExpression * first = [(NSComparisonPredicate *) pred leftExpression];
    NSNumber * result = [first expressionValueWithObject:nil context:nil];
    int finalResult = [result intValue];

还可以使用NSScanner扫描字符串并提取数字和运算符。有关更多信息,请参阅线程。

您可以使用类似的方法,但需要知道字符串的格式:

    NSPredicate * pred = [NSPredicate predicateWithFormat:@"3*10 = 0"];
    NSExpression * first = [(NSComparisonPredicate *) pred leftExpression];
    NSNumber * result = [first expressionValueWithObject:nil context:nil];
    int finalResult = [result intValue];

还可以使用NSScanner扫描字符串并提取数字和运算符。有关更多信息,请参阅线程。

没有标准的功能。您可以创建自己的解析器来解析字符串并获取数字和运算符,然后可以对其执行计算。您还可以使用一些外部库,如DDMathParser或GCMathParsery。

没有标准的功能来实现这一点。您可以创建自己的解析器来解析字符串并获取数字和运算符,然后可以对其执行计算。还有一些外部库,如DDMathParser或GCMathParsery,您可以使用。

上面写着“无法解析…”日志:2013-12-02 18:25:20.172 GraphX[1167:303]引发了一个未捕获的异常2013-12-02 18:25:20.172 GraphX[1167:303]无法解析格式字符串“3*10”…其他一些日志编辑了我的答案,现在代码工作了。令人惊讶,这样做很好。非常感谢。最后一件事:为什么要在10*3之后应用“=0”?我的意思是,如果我的字符串类似于“某些操作”,我是否必须在“=0”的末尾加上?ThanksIt说“无法解析…”日志:2013-12-02 18:25:20.172 GraphX[1167:303]引发了一个未捕获的异常2013-12-02 18:25:20.172 GraphX[1167:303]无法解析格式字符串“3*10”…其他一些日志编辑了我的答案,现在代码可以工作了。令人惊讶的是,它工作得非常完美。非常感谢。最后一件事:为什么要在10*3之后应用“=0”?我的意思是,如果我的字符串类似于“某些操作”,我是否必须在“=0”的末尾加上?谢谢