2013-02-15 1 views
4

Я могу получить результат, который я хочу, с ведущими нулями, но он не работает с пробелами.Отформатируйте поплавок на площадку с ведущими пробелами

[NSString stringWithFormat:@"%05.2f", 2.1]; // 02.10 

Однако следующий не работает:

[NSString stringWithFormat:@"% 5.2f", 2.1]; // 2.10 

Нор делает это:

[NSString stringWithFormat:@"%5.2f", 2.1]; // 2.10 
+0

положить пространство перед модулем, а не после модуля. – CodaFi

+0

Как число содержит пробелы? –

+0

Откуда вы знаете, что это не сработало? попробуйте "[% 5.2f]", чтобы увидеть, есть ли какие-либо ведущие пробелы, должно быть 4, если он не работает, возможно, объективная библиотека c не реализовала его? – ColWhi

ответ

4

Я просто попытался это и wored:

printf("%s\n", [[ NSString stringWithFormat:@"% 5.2f\n", 2.1 ] UTF8String ]) ; 

, который дает

2.10 

что правильно ... может быть, проблема кроется в другом месте?

EDIT

Если вы не используете фиксированную ширину шрифта, вы можете вставить символы табуляции вместо с \t

1

Я думаю, что мое оригинальное решение работает как это делает, что предложенный @ColWhi и @nielsbot ... Я думаю, что проблема заключается в том, что шрифт (Helvetica) имеет более узкие пробелы, чем символы ...

+4

Ahh да, шрифт с фиксированной шириной необходим, если вы хотите, чтобы все было согласовано .... – lnafziger

 Смежные вопросы

  • Нет связанных вопросов^_^