-1

我可以在 Objc 中做这样的事情吗:

NSString* myEquation = @"(3 * 4 / 2 ) - 5";
[myEquation calculate]; // return 1

谢谢。

4

2 回答 2

2

http://apptree.net/parser.htm应该做你想做的。

NSString to equation这个问题似乎已经在这里问过了。所以一定要先搜索:)。

于 2012-08-03T13:46:39.453 回答
1

你可以在没有外部库的情况下做到这一点:用你的表达式创建一个谓词== 0,然后使用它的左表达式。然后,您可以评估该表达式,如下所示:

NSExpression *e = [(NSComparisonPredicate *)[NSPredicate
    predicateWithFormat:@"(3 * 4 / 2 ) - 5==0"]
    leftExpression];
NSLog(@"%@", [e expressionValueWithObject:self context:nil]);
于 2012-08-03T13:55:00.843 回答