Я пытаюсь написать приложение для iphone в ObjectiveC. Мне нужно отобразить текст статуса, который сообщает пользователю значение нескольких переменных. Эти значения можно изменить, перетаскивая маркер пальцем на диаграмме.
У меня проблема в том, что диапазон значений довольно широк. Если вы хотите установить значения от 0 до 1, вы, вероятно, захотите 3 десятичных знака (например, 0,345). Но если диапазон от 0 до 10000, вам не нужны никакие десятичные дроби вообще.
Теперь у меня есть около 20 различных сообщений, которые можно отобразить, и если я хочу, чтобы все они отображали значения «динамически», будет много кода, подобного этому:
float start,stop; // Defined earlier...
switch ( numberOfDecimals ) {
case 0:
lblStatus.text = [NSString stringWithFormat:@"Start: %.0f Stop :%.0f", start, stop]; break;
case 1:
lblStatus.text = [NSString stringWithFormat:@"Start: %.1f Stop :%.1f", start, stop]; break;
case 2:
lblStatus.text = [NSString stringWithFormat:@"Start: %.2f Stop :%.2f", start, stop]; break;
default: break;
}
Нет ли лучшего способа сделать это?