Я должен отформатировать плавание (броский заголовок, он?) к 2 десятичным разрядам, но только если те десятичные разряды имеют значения, которые не являются нулем. Пример:
У меня есть NSTextField, названный 'ответом', после того, как я делаю некоторую математику с несколькими плаваниями, я хочу присвоить свою 'answerFloat' переменную 'ответу' NSTextField. До сих пор я имею:
[answer setStringValue:[NSString stringWithFormat:@"%.2f", answerFloat]];
Но это устанавливает что-то как 45 к 45,00. Я хочу, чтобы целые числа были отображены без обнуления и любых десятичных чисел, которые будут отображены с их соответствующими десятичными значениями.
Я должен осуществить некоторую проверку прежде, чем дать его stringWithFormat? Или NSString предлагает способ обработать это?
Вы пробовали % G
спецификатор формата?
NSLog([NSString stringWithFormat:@"%g, %g", 45.0, 45.5]);
2010-01-12 19: 54: 38.651 FOO [89884: 10B] 45, 45,5
Для наибольшей гибкости вы можете рассмотреть возможность реализации пользовательского подкласса NSFormatter . Там могут быть другие существенные советы в Руководстве по форматированию данных для какао .