2

NSExpression文字列内の数式を評価するために使用しています。

例 -

NSString *formula = @"7+11";
NSExpression *exp = [NSExpression expressionWithFormat: formula];
NSNumber *expResult = [exp expressionValueWithObject:nil context:nil];

すべて正常に動作しますが...

次の式「7+x=18」がある場合はどうなりますか? この数式を評価して "x" を見つけ、結果 11 を取得するにはどうすればよいですか?

4

1 に答える 1

4
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

元の回答はこちら

于 2013-11-09T06:16:23.500 に答える