抱歉,标题不好。我真的不知道如何命名我想做的事情。
无论如何,我正在用 Objective-C 和 X-Code 在 Cocoa 上构建一个计算器。我已经映射了所有按钮等。我需要使计算器的数学部分正常工作。
现在,我最初的想法是让每个按钮打印一个 NSMutableString 到计算器“监视器”(文本字段),然后转换为 double 。这一切都在正常工作中,我希望保留它。然而,不起作用的部分是我对如何对数字进行数学运算的想法。
我可以很好地转换为 double :
[display1 appendString:@" - "]; // Appends to the monitor
[self updateDispaly:display1]; // Yes, updateDisplay is a custom-built method.
math1 = display1.doubleValue; // Converts the NSMutableString to doubles.
这一切都很好。 现在,我让这一切发生在每个操作按钮的代码中(减法、加法等),并希望它发生在 EQUALS 按钮的代码中。如何将“- ”的两边分开,然后在完成后转换为 double ?
[display1 componentsSeparatedByString:@" - "];
这是我的一些代码的想法,但这并不适用于所有符号,这些组件会发生什么?
提前致谢!
最佳答案
您可以使用NSScanner
。或者您可以使用componentsSeparatedByString:
。或者您可以缩短整个过程并使用 NSExpression
。
NSExpression *expression = [NSExpression expressionWithFormat:@"4 + 5"];
id value = [expression expressionValueWithObject:nil context:nil];
关于objective-c - 如何获取字符串并从中删除部分以转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134168/