3

我正在寻找创建一个 iOS 计算器,只需使用 UITextField。例如,例如;有人可能会在 UITextField 中输入“6 - 3 x 2”,然后点击“完成”或“开始”等。这将计算答案并将其显示在 UIAlertView 中。

因此,首先我认为 UITextField 文本必须分成不同的部分,因此 '6' '-' '3' '*' '2' 将是来自 UITextField 文本输入的分隔字符串。我将如何像上面提到的那样分离文本?

然后我如何使用这些信息来计算答案并显示它?

4

2 回答 2

5

使用 GCMathParser http://apptree.net/parser.htm

它接受一个 NSString 作为输入并为你评估它。

正如 Danh 所说,您也可以使用 DDMathParser https://github.com/davedelong/DDMathParser

一个例子(来自文档)

NSString* mathstring = @"tan(dtor(45))";
double result = [mathstring evaluateMath];    // returns 0.999999999999...

因此,您只需向evaluateMath要解析的 NSString 发送消息。就是这样)

于 2012-04-21T17:22:39.800 回答
0

你也可以这样使用 NSPredicate :

NSPredicate * parsed = [NSPredicate predicateWithFormat:@"22/7.0 + (13*42) - 1024 = 0"];
NSExpression * left = [(NSComparisonPredicate *)parsed leftExpression];
NSNumber * result = [left expressionValueWithObject:nil context:nil];
NSLog(@"result: %@", result);

但我不确定 tan 之类的功能。更多信息在这里

于 2012-04-23T03:51:26.630 回答