У меня есть класс, содержащий различные типы числовых значений. В этом классе у меня есть несколько вспомогательных методов, которые используются для вывода текста дескриптора для отображения в моем приложении.
Этот текст дескриптора всегда должен отображаться как целое число или число с плавающей точкой, в зависимости от определения конкретного экземпляра.
У класса есть свойство DecimalWidth
, которое я использую для определения количества отображаемых десятичных знаков. Мне нужна помощь в написании строки кода, которая отображает числовое значение, но с фиксированным числом десятичных знаков, (0 - это возможность, и в таком случае значение должно отображаться как целое число.)
Я знаю, что могу вернуть значение, подобное [NSString stringWithFormat:@"%.02f", self.Value]
, но моя проблема в том, что мне нужно заменить '2' в строке формата значением DecimalWidth
.
Я могу придумать пару способов решения этой проблемы. Я мог бы объединить строку вместе, и это как строка формата для строки выводимой строки. Или я мог бы сделать строку формата внутри строки формата.
Эти решения звучат отвратительно и кажутся довольно неэффективными, но, возможно, это лучшие варианты, которые у меня есть.
Существует ли элегантный способ построения строки динамического форматирования, где выходные данные представляют собой фиксированное число десятичной ширины, но указанная десятичная ширина является динамической?