Действительно ли NSNumberFormatter является единственным способом отформатировать NSDecimalNumber?

Я использую NSDecimalNumber для хранения денег в Базовых Данных. Я наивно использовал stringWithFormat: сначала для форматирования значения, позже поняв, что это не поддерживало NSDecimalNumber и вместо этого форматировало указатель :(. Таким образом, после некоторого прочтения документов я учился использовать NSNumberFormatter для получения формата, который я хотел. Но это просто кажется мне "твердым путем". Есть ли любой более легкий путь, чем это:?

NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
priceField.text = [formatter stringFromNumber: ent.price];
[formatter release];
11
задан Paul Alexander 30 May 2010 в 21:39
поделиться

3 ответа

В этом подходе нет ничего плохого, и это обычный шаблон для преобразования непрозрачных классов чисел в строки.

Если у меня есть UIView, который часто использует форматер, я обычно располагаю его как член экземпляра, чтобы избежать необходимости многократно alloc/init/release форматер.

13
ответ дан 3 December 2019 в 02:52
поделиться

NSNumberFormatter может быть дорогостоящим, почему бы просто не позвонить [ent descriptionWithLocale:]

0
ответ дан 3 December 2019 в 02:52
поделиться

Просто преобразуйте его в двойное и используйте "F"

[NSString (скрытый) [ent doubleValue]];

-1
ответ дан 3 December 2019 в 02:52
поделиться