objective-c - 如何获取字符串并从中删除部分以转换为 double

标签 objective-c string cocoa double

抱歉,标题不好。我真的不知道如何命名我想做的事情。
无论如何,我正在用 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/

相关文章:

iphone - cocoa 触感。这些 NSMutableData 方法之间到底有什么区别?

objective-c - 尽管 setNeedsDisplay,NSCollectionView 子类在拖动 session 期间不会调用drawRect

iphone - rec、av基础框架的循环持续时间

java - 拆分逗号分隔忽略最后一项

python - 如何修复混合 JSON 编码字符串

string - Excel VBA - 删除最多*单词*的字符串内容

objective-c - 使用 Objective C 从文件中读取字符串

ios - -(Class)class 是什么意思?

iphone - 如何在 xcode 4.3 中将项目或库导入 ios 应用程序

ios - 如何使用 UISplitViewController iOS 在 iPad 上强制以纵向模式显示 MasterViewController