做一个grapher app我想知道以下内容:
我的字符串等于:3 * 10; (例如)
我希望我的Integer变量直接等于该字符串的数学结果
like:int result = my string result(因为它是一个运算符)
我希望我足够清楚。
哪种方法最简单? 感谢
答案 0 :(得分:3)
你可以用这样的东西来做,但你需要知道字符串的格式:
NSPredicate * pred = [NSPredicate predicateWithFormat:@"3*10 = 0"];
NSExpression * first = [(NSComparisonPredicate *) pred leftExpression];
NSNumber * result = [first expressionValueWithObject:nil context:nil];
int finalResult = [result intValue];
此外,您可以使用NSScanner扫描字符串并提取数字和运算符。有关详细信息,请参阅this主题。
答案 1 :(得分:1)
没有标准功能可以做到这一点。您可以创建自己的解析器来解析字符串并获取数字和运算符,之后您可以对此进行计算。还有一些外部库,如DDMathParser或GCMathParseryou可以使用。