【问题标题】:NSString category calculatorNSString 类别计算器
【发布时间】:2013-07-30 13:35:10
【问题描述】:

我正在尝试找到一种从 NSString 计算结果的方法。 有没有简单的 NSString 计算器类?

NSString *str = @"10+20/2";
int result = [[str stringByCalculatingResult] intValue];
NSLog (@"result:%i", result);

首选输出:

result:20

感谢您的解决方案。

类别:

//NSString+Calculator.h
@interface NSString (Calculator)
- (NSString*)stringByCalculatingResult;
@end

//NSString+Calculator.m
@implementation NSString (Calculator)
- (NSString*)stringByCalculatingResult
{
    NSExpression *expression = [NSExpression expressionWithFormat:self];
    NSNumber *value = [expression expressionValueWithObject:nil context:nil];
    return [value stringValue];
}
@end

【问题讨论】:

标签: objective-c nsstring calculator


【解决方案1】:

您应该考虑使用可以为您计算数学表达式的NSExpression 类:

NSExpression *expression = [NSExpression expressionWithFormat:@"10 + 20 / 2"];
id value = [expression expressionValueWithObject:nil context:nil];

【讨论】:

    【解决方案2】:

    你可以看看这个mathematical parser library

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      相关资源
      最近更新 更多