Решение математики с использованием DDMathParser в Objective-C
Я хотел бы использовать DDMathParser для решения математической задачи. Верхний ответ на этот вопрос Stackru показывает, как, но он только решает его в журнале. Я хотел бы получить ответ в виде строки на целое число. Код NSLog(@"%@", [math numberByEvaluatingString]);
также работает, но он только печатает его в журнал.
То, что я хотел бы сделать, было бы что-то вроде answerText = @"%@", [math numberByEvaluatingString];
где "math" - строка для оценки, а "answerText" - строка для отправки ответа. Тем не менее, когда я пытаюсь отобразить строку в метке, как Label.text = [NSString stringWithFormat:answerText];
Я получаю ошибку sigabrt. Я не уверен, что случилось. Этот код не работает с целым числом.
Заранее спасибо!
2 ответа
Пытаться:
label.text = [NSString stringWithFormat:@"%@", [math numberByEvaluatingString]];
Вероятно, есть лучший способ привести его к строке, но мне лень, чтобы посмотреть, что numberByEvaluatingString
на самом деле возвращается.
Версия DDMathParser для Objective-C возвращает NSNumber
, Это означает, что для отображения его в качестве значения в текстовом поле вам необходимо преобразовать его в строку.
При использовании +stringWithFormat:
будет работать, это не технически правильно. Используя +stringWithFormat:
Вы полагаетесь на -description
из NSNumber
, которая может иметь информацию, которую вы не хотите, или не хватает информации, которую вы действительно хотите.
Лучший способ "сделать" NSNumber
в NSString
подходит для потребления человеком, чтобы использовать NSNumberFormatter
,