我正在使用NSExpression
来评估字符串中的公式。
示例 -
NSString *formula = @"7+11";
NSExpression *exp = [NSExpression expressionWithFormat: formula];
NSNumber *expResult = [exp expressionValueWithObject:nil context:nil];
一切都很好但是......
如果我有以下公式“7 + x = 18”怎么办?如何评估此公式并找到“x”并获得结果11?
答案 0 :(得分:3)
NSString *formula = @"12.845*x+(-0.505940)";
float x = 12.0;
NSExpression *expr = [NSExpression expressionWithFormat:formula];
NSDictionary *object = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat:x], @"x", nil];
float result = [[expr expressionValueWithObject:object context:nil] floatValue];
NSLog(@"%f", result);
// Output: 153.634064
原始答案here