0

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
4

2 に答える 2

2

NSExpression数式を評価できるクラスの使用を検討する必要があります。

NSExpression *expression = [NSExpression expressionWithFormat:@"10 + 20 / 2"];
id value = [expression expressionValueWithObject:nil context:nil];
于 2013-07-30T13:42:45.297 に答える
0

この数学パーサーライブラリを見ることができます

于 2013-07-30T13:44:42.687 に答える