2013-08-15 2 views
2

나는 NSExpression을 사용하여 문자열의 수식을 평가합니다.iOS - 하나의 알 수없는 매개 변수와 함께 NSExpression을 사용하는 방법

예 -

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

모든 것은 ... 잘 작동하지만

내가 다음과 같은 공식 "7 + X = 18"가 있다면? 이 수식을 평가하고 "x"를 찾고 결과 11을 얻으려면 어떻게해야합니까?

답변

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

+0

스위프 티 응답 : https://stackoverflow.com/a/44585781/3411787 –

관련 문제