首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >逻辑NSExpression评估

逻辑NSExpression评估
EN

Stack Overflow用户
提问于 2014-01-24 18:25:33
回答 1查看 843关注 0票数 0

下面的代码可以工作:

代码语言:javascript
复制
NSString* equation = @"2.5*3";
NSExpression* expresion = [NSExpression expressionWithFormat:equation, nil];
NSNumber* result = [expresion expressionValueWithObject:nil context:nil];
NSLog(@"%@", result); // 7.5

但这个不是,它在NSInvalidArgumentException中结束

代码语言:javascript
复制
NSString* equation = @"2.5<=3";
NSExpression* expresion = [NSExpression expressionWithFormat:equation, nil];
NSNumber* result = [expresion expressionValueWithObject:nil context:nil];
NSLog(@"%@", result); //I wanted result to be 1, as the expression is true

有没有人知道是否有一种方法可以使用NSExpression来计算这样的逻辑表达式?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-01-24 18:53:22

使用NSPredicate而不是NSExpression:

代码语言:javascript
复制
NSString* equation = @"2.5<=3";
NSPredicate* pre = [NSPredicate predicateWithFormat:equation];
BOOL result = [pre evaluateWithObject:nil];
NSLog(@"%@", (result ? @"YES" : @"NO"));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21330187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档