Я знаю, что есть "сложный" способ сделать это (не такой сложный, но и не прямой).
Я отображаю значение с плавающей запятой в процентах на метке следующим образом:
myLabel.text = [NSString stringWithFormat:@"%.1f%%", myFloat];
Я хочу заставить метку отображать знак поплавка. Конечно, он автоматически показывает «-», если значение отрицательное. Я знаю, что могу сделать это, используя метод такого типа:
-(NSString *) stringFromFloat: (float) theFloat {
if (theFloat > 0) return [NSString stringWithFormat: @"+%.1f%%", theFloat];
else return [NSString stringWithFormat: @"%.1f%%", theFloat];
}
Но это означало бы вызов [self stringFromFloat:aFloat]; каждый раз, когда мне нужно отобразить значение с плавающей запятой. Я знаю, что использование этого решения «лучше», потому что оно снижает количество повторно используемых строк, но если мои метки не показывают одинаковое количество десятичных знаков, stringFromFloat: может быстро расти...
Итак, мой вопрос: есть ли «простой» и стандартный способ сделать это? Как средство форматирования NSString или что-то в этом роде? Например, заменить @"%.1f%%" чем-то вроде @"%sign%.1f%%"?
Если нет ничего такого прямолинейного, что-то вроде stringFromFloat: будет лучшим решением?
Спасибо !