iphone - 如何将 "String-Calculation-Row"WITH 操作数转换为 double ?

标签 iphone objective-c ios ipad ios4

有人可以帮我进行字符串转换吗? 例如,此行是我要转换的字符串:

(这是用户通过文本字段发送的:) NSString *testString = @"3 + 4 * 5.2 - 6";

我现在的方式就是这样,但是操作数发生了变化......: 双温度 = 数字 1 + 数字 2 * 数字 3 - 数字 4;

结果应该是 double 并且操作数必须能够被识别。数字根本不是问题,而是操作数。像“*”或“/”这样的操作数不能用 doubleValue 转换为 double。有没有可能从字符串中做到这一点?

提前致谢! :-)

最佳答案

尝试使用 NSScanner 扫描此类字符串。

顺便说一句,“+”、“-”被称为操作而不是操作数。在你的例子中,操作数是“3”、“4”等。

更新

看起来 Dave DeLong ( https://stackoverflow.com/users/115730/dave-delong ) 已经用 DDMathParser 解决了您的问题 - https://github.com/davedelong/DDMathParser

关于iphone - 如何将 "String-Calculation-Row"WITH 操作数转换为 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5297790/

相关文章:

ios - 适用于 iPad 的 SSRS 报表查看器

iphone - 哪里可以下载 “ipa file”的 “App Store”?

iphone - Objective-C - 对 NSMutableStrings 使用 deleteCharactersInRange

objective-c - xcode 4垃圾收集已删除?

objective-c - SoundCloud 错误(clang 失败,退出代码为 1)

iOS App 找不到框架头文件

iphone - 如何将从 UIAlertview 文本字段接收到的数据添加到局部变量?

iphone - 在 iPhone 上的 MKMapView 中移动注释时避免闪烁

iOS 应用程序在 iPhone 上崩溃,即使它在模拟器上运行

ios - 基于内容的动态 UITableView 单元格高度