我正在使用 Objective-C,我正在尝试设置一个方程,该方程存储在 NSString
中以求值并存储在 NSInteger
中。
类似于以下内容:
equation = [[NSString alloc] initWithString:@"1+5*6"];
然后将其计算为 31 并将其存储到 NSInteger
中。任何想法如何做到这一点?
最佳答案
您想要出色的、惊人的和美妙的 GCMathParser,可在 apptree.net 上获得(免费!):http://apptree.net/parser.htm它完全符合您的要求,甚至允许您进行变量替换(3x+42,使用 x = 7 进行评估)。它甚至支持数学函数,如 sin()、cos()、tan()、它们的反函数、dtor()、log() 等。
编辑很久以后...
虽然 GCMathParser 非常棒,但它存在不可扩展的缺陷。因此,如果您需要它本身不支持的功能,那就太糟糕了。所以我决定为此做点什么,并想出了一个完全原生的数学解析器和求值器:http://github.com/davedelong/DDMathParser
关于iphone - NSString 到等式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501949/