我想知道如何评估方程的字符串表示,就好像它是一个真实的方程:
if(@"15+14==23")
{
//True statement...
}
else
{
//False statement....
}
Run Code Online (Sandbox Code Playgroud)
我想返回"假",因为15 + 14不等于23.我怎么能让它工作?
cocoa cocoa-touch objective-c expression-evaluation nsstring
以下是如何使用NSPredicate执行此操作的示例:
NSPredicate *p = [NSPredicate predicateWithFormat:@"1+2==3"];
NSLog(@"%d", [p evaluateWithObject:nil]);
p = [NSPredicate predicateWithFormat:@"1+2==4"];
NSLog(@"%d", [p evaluateWithObject:nil]);
Run Code Online (Sandbox Code Playgroud)
第一个NSLog产生1,因为1 + 2 == 3为真; 第二个产生0.
问题在于等式
1/3==2/3
Run Code Online (Sandbox Code Playgroud)
该陈述将是真的,但1/3不等于2/3我该如何解决这个问题?