打字计算器? Xcode中

时间:2012-03-14 23:53:43

标签: iphone ios xcode

不确定它会被称为什么?

但无论如何,我想知道如何制作一个计算器,用户将他的方程式输入文本框,然后当用户点击“=”时,它会计算用户输入的所有内容。

离。用户类型: 1 + 1 *(1 + 2) 点击 6(显示)

-EDIT-我搞砸了我的数学:P 4(显示)

我在互联网上找不到任何关于此事的文章,因为我真的不知道该搜索什么。所以如果有人能提供帮助,或者至少指出我正确的方向。非常感谢。

谢谢, 问候。

4 个答案:

答案 0 :(得分:3)

这些被称为数学解析器。

有两个非常好的库可供免费使用:DDMathParser和GCMathParser。

有关详细信息,请参阅this question

他们比NSExpression更强大

答案 1 :(得分:2)

我想要的是NSExpression我认为:

NSExpression *expression = [NSExpression expressionWithFormat:inputText, nil];
NSNumber *result = [expression expressionValueWithObject:nil context:nil];

我使用数学符号测试了NSExpression(0-9+-*/(,{{1它似乎按预期工作。试一试,它可能适合你。

答案 2 :(得分:1)

您可以尝试查找“中缀符号”和“解析树”作为开头。

答案 3 :(得分:1)

1 + 1 * (1 +2) hits enter 6 (is displayed)
嗯,我确定有很多人类数学样本,但1 + 1x(1 + 2)!= 6:)

我的一个建议是收集所有无法识别的字符组并将其视为变量,然后让用户输入值。如1 + y *(1 + z),输入,y = 1,z = 2,输入,结果= 4.