как установить десятичные разряды в 0 при использовании валют - PullRequest
3 голосов
/ 11 ноября 2011

В моем приложении я работаю с большими числами (валютами) и форматирую их с помощью nsnumberformatter.however, в настоящее время количество десятичных разрядов задается в соответствии с локалью. Поскольку участвуют большие числа, я не хочу отображатьдесятичные разряды в любой валюте.как установить десятичные разряды в ноль в стиле валюты nsnumberformatter?

код используется

NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithString:unformattedString];
    NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
    [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [currencyFormatter setLocale:locale];
    NSString *str=[NSString stringWithFormat:@"%.0f",someAmount];
    //NSString *str=[currencyFormatter stringFromNumber:someAmount];

1 Ответ

8 голосов
/ 11 ноября 2011

Используйте приведенный ниже код для удаления десятичных разрядов из средства форматирования чисел:

[currencyFormatter setMaximumFractionDigits:0];

Полный код, используя указанный выше код:

NSDecimalNumber *someAmount = [NSDecimalNumber decimalNumberWithString:unformattedString];
NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[currencyFormatter setLocale:locale];
[currencyFormatter setMaximumFractionDigits:0];
NSString *str=[currencyFormatter stringFromNumber:someAmount];
...