在 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
。
我想使用 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
。