在 Objective-C 中使用 DDMathParser 解决数学问题

Solving math using DDMathParser in Objective-C

我想使用 DDMathParser 来解决数学问题。 this Whosebug 问题的最佳答案显示了如何解决,但它仅将其解决到日志中。我想得到整数字符串形式的答案。代码 NSLog(@"%@", [math numberByEvaluatingString]); 也有效,但它只将其打印到日志中。

我想做的是 answerText = @"%@", [math numberByEvaluatingString];,其中 "math" 是要评估的字符串,"answerText" 是要将答案推送到的字符串。但是,当我尝试在 Label.text = [NSString stringWithFormat:answerText]; 等标签中显示字符串时,出现 sigabrt 错误。我不确定发生了什么。该代码根本不适用于整数。

提前致谢!

尝试:

label.text = [NSString stringWithFormat:@"%@", [math numberByEvaluatingString]];

可能有更好的方法将它强制转换为字符串,但我懒得去看 numberByEvaluatingString 实际上是什么 returns。

Objective-C 版本的 DDMathParser returns 和 NSNumber。这意味着为了将其显示为文本字段中的值,您需要将其转换为字符串。

虽然使用 +stringWithFormat: 会起作用,但从技术上讲 不正确 。通过使用 +stringWithFormat:,您依赖于 NSNumber-description,其中可能包含您不需要的信息,或者缺少您确实需要的信息。

将"render"NSNumber变成适合人类消费的NSString的最佳方法是使用NSNumberFormatter