Форматирование строки с плавающей точкой в ​​Objective-C: форматирование целых чисел - PullRequest
1 голос
/ 26 февраля 2012

Здесь есть несколько хороших ответов о том, как отформатировать десятичные разряды с плавающей точкой для строки:

float myFloatA = 2.123456f;
NSLog(@"myFloatA: [%.2f]", myFloatA;
// returns:
// myFloatA: [2.12]

Но я ищу, как отформатировать целые числа того же числа.Это можно сделать с помощью такого же трюка с целым числом:

int myInt = 2;
NSLog(@"myInt: [%5d]", myInt;
// returns:
// myInt: [    2]

Поэтому я надеялся, что что-то вроде% 5.2f будет ответом на форматирование как до, так и после десятичного числа.Но это не так:

float myFloatA = 2.123456f;
NSLog(@"myFloatA: [%5.2f]", myFloatA;
// returns:
// myFloatA: [2.12]

Есть мысли по этому поводу?

Ответы [ 2 ]

1 голос
/ 26 февраля 2012

Использование спецификаторов печати очень хорошо для NSLogs, но подумайте об этом по-другому.

Обычно вам требуется строковое представление числа, когда вы выводите его в виде текстового поля.В этом случае вы также можете использовать NSNumberFormatter, который сделает большую часть тяжелой работы за вас.

0 голосов
/ 26 февраля 2012

Также подтвердили, что это работает.Если вы беспокоитесь, что не получаете ширину в 5 символов, попробуйте ввести нулевое заполнение с помощью:

NSLog(@"myFloatA: [%05.2f]", myFloatA);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...