2012-03-02 1 views
2

Как напечатать float в Objective-C как, например, 3.45 вместо 3.45555555555?Как распечатать форматированный поплавок в obj-c?

+0

Возможный дубликат [как установить значение с плавающей точкой в ​​два десятичных числа в объективе C] (http://stackoverflow.com/questions/560517/how-to-set-the-float-value-to-two- decimal-number-in-objective-c) –

ответ

16

Попробуйте форматировать поплавок так:

NSLog(@"%.2f", myFloat); 

% знак означает, что это будет заменено соответствующим аргументом следующее (myFloat). Значение .2 означает 2 знака после запятой, а f означает тип данных float.

Посмотрите here для более подробной информации.

Objective-C-х NSLog очень похож на C-х printf, с основными исключениями в том, что вы должны использовать строку Objective-C буквального (@"…"), и вы должны использовать %@ для строк Objective-C (NSString сек), а не %s , что соответствует "Plain C strings".

+0

Это может сработать. Мне нужно, чтобы он был динамичным. –

+0

@Austin - Что вы подразумеваете под динамикой? Можете ли вы отредактировать свой пост и объяснить это? – sch

+0

Я имею в виду, как @Jack Stone, '% g'. –

2

Зависит от того, как вы его печатаете. Если вы хотите показать его в графическом интерфейсе (который, вероятно, является распространенным случаем для приложений Cocoa и Cocoa Touch), используйте NSNumberFormatter и установите для него два десятичных знака. Если вы печатаете его через NSLog() или printf(), вы должны использовать format specifier по строкам «% .2f».

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

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