Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
351 views
in Technique[技术] by (71.8m points)

iphone - NSString to equation

I am using Objective-C and I am trying to set an equation that is stored in an NSString to be evaluated and stored in an NSInteger.

something similar to the following:

equation = [[NSString alloc] initWithString:@"1+5*6"];

and then evaluate that to become 31 and store it into an NSInteger. any ideas how to do this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You want the wonderful, amazing, and fabulous GCMathParser, available (FOR FREE!) on apptree.net: http://apptree.net/parser.htm It does exactly what you're asking, and even allows you to do variable substitutions (3x+42, evaluate with x = 7). It even has support for mathematical functions like sin(), cos(), tan(), their inverses, dtor(), log(), ....

edit a long time later...

While GCMathParser is pretty awesome, it has the flaw of not being extensible. So if you need a function that it doesn't natively support, then too bad. So I decided to do something about it, and came up with an entirely native math parser and evaluator: http://github.com/davedelong/DDMathParser


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...