-1

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

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

提前致谢!

4

2 回答 2

1

尝试:

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

可能有更好的方法将其强制为字符串,但我懒得去看numberByEvaluatingString实际返回的内容。

于 2015-11-23T21:49:11.667 回答
1

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

虽然使用+stringWithFormat:会起作用,但它在技术上并不正确。通过使用+stringWithFormat:,您依赖-descriptionNSNumber,它可能包含您不想要的信息,或者缺少您想要的信息。

NSNumber将 an “渲染”为NSString适合人类消费的最佳方式是使用NSNumberFormatter.

于 2015-11-24T01:11:58.057 回答