【问题标题】:How can I convert a "String-Calculation-Row" WITH operand into double?如何将“字符串计算行”与操作数转换为双精度?
【发布时间】:2011-03-14 11:13:07
【问题描述】:

任何人都可以帮助我进行字符串转换吗? 此行例如是我要转换的字符串:

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

我目前的方式是这样,但是操作数会改变......: 双倍温度 = number1 + number2 * number3 - number4;

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

提前致谢! :-)

【问题讨论】:

    标签: iphone objective-c ios ipad ios4


    【解决方案1】:

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

    顺便说一句,“+”、“-”被称为操作而不是操作数。在您的情况下,操作数是“3”、“4”等。

    更新

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

    【讨论】:

    • 如果我得到一个“双计算行”,你知道一个简短的例子吗?不过感谢您的方式! :-)
    【解决方案2】:

    顺便说一句,您正在寻找“评估”。字符串转换是另外一回事。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-03
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      相关资源
      最近更新 更多