You can use NSExpression:
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);
It even works with some functions, such as sqrt, exp... See. Documentation NSExpressionfor a list of supported features.
source
share