Форматирование плаваний в Objective C

Я должен отформатировать плавание (броский заголовок, он?) к 2 десятичным разрядам, но только если те десятичные разряды имеют значения, которые не являются нулем. Пример:

У меня есть NSTextField, названный 'ответом', после того, как я делаю некоторую математику с несколькими плаваниями, я хочу присвоить свою 'answerFloat' переменную 'ответу' NSTextField. До сих пор я имею:

[answer setStringValue:[NSString stringWithFormat:@"%.2f", answerFloat]];

Но это устанавливает что-то как 45 к 45,00. Я хочу, чтобы целые числа были отображены без обнуления и любых десятичных чисел, которые будут отображены с их соответствующими десятичными значениями.

Я должен осуществить некоторую проверку прежде, чем дать его stringWithFormat? Или NSString предлагает способ обработать это?

33
задан mskfisher 9 May 2012 в 19:08
поделиться

3 ответа

Вы пробовали % G спецификатор формата?

NSLog([NSString stringWithFormat:@"%g, %g", 45.0, 45.5]);

2010-01-12 19: 54: 38.651 FOO [89884: 10B] 45, 45,5

45
ответ дан 27 November 2019 в 17:58
поделиться

Посмотрите на NsnumberFormatterter.

3
ответ дан 27 November 2019 в 17:58
поделиться

Для наибольшей гибкости вы можете рассмотреть возможность реализации пользовательского подкласса NSFormatter . Там могут быть другие существенные советы в Руководстве по форматированию данных для какао .

2
ответ дан 27 November 2019 в 17:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: