テキストフィールドには、次のような数式が含まれています。12+45-6
この文字列を数値に変換することはできますか?数式を含む文字列を浮動小数点に変換する
述語機能を使用できますか?
NSString *foo = @"((a*b)/c+(d/5))+15";
// dummy predicate that contains our expression
NSPredicate *pred = [NSPredicate predicateWithFormat:[foo stringByAppendingString:@" == 42"]];
NSExpression *exp = [pred leftExpression];
NSNumber *result = [exp expressionValueWithObject:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:4], @"a",[NSNumber numberWithInt:7], @"b",[NSNumber numberWithInt:2], @"c",[NSNumber numberWithInt:20], @"d",nil]context:nil];
NSLog(@"%@", result); // logs "33"<br/>
私もはいこのhttps://github.com/unixpickle/ANExpressionParser
:また、スタックを使用して、postix式を評価する方法を検討後、http://scriptasylum.com/tutorials/infix_postfix/algorithms/infix-postfix/index.htm
そして:あなたは、スタックを使用してpostfixの変換に中置になっているはずです
、あまりにも:http://stackoverflow.com/questions/6809655/math-expression-evaluation-very-fast-with-objective-c/6809698#6809698 – Monolo
"コードを送信してください"はここでは、ここで眉をひそめています。言ってるだけ'。 –
可能な複製http://stackoverflow.com/questions/4892152/what-is-a-fast-c-or-objective-c-math-parser – lhf