NSNumberFormatter Добавление скобок

Я пытаюсь заставить NSNumberFormatter отображать валюту. У меня есть два UILabels, оба отформатированы одним и тем же NSNumberFormatter, но первый заключен в скобки. Это код, который у меня есть:

    NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease];
    [fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle];
    [fmtCurrency setGeneratesDecimalNumbers:TRUE];
    [fmtCurrency setCurrencyCode:@"GBP"];
    [fmtCurrency setCurrencySymbol:@"£"];
    // formatter generates decimal numbers
    txtTotal.text = [fmtCurrency stringFromNumber: result.totalBill ]; // displays (£1100.00)
    txtTransition.text = [fmtCurrency stringFromNumber: result.transition]; // displays £120,000.00

Я искал в InterfaceBuilder опцию «добавить скобки, если она слишком длинная», но, похоже, ее нет, а вторая метка, которая правильно отображается без скобок, длиннее первой.


person Echilon    schedule 01.08.2011    source источник
comment
Общий счет случайно не является отрицательным числом, не так ли?   -  person Perception    schedule 01.08.2011
comment
Какие существуют типы для итогового счета и перехода?   -  person Praveen S    schedule 01.08.2011


Ответы (1)


Вы можете быть уверены, что система сделает все правильно при настройке средства форматирования, просто установите желаемую локаль:

NSNumberFormatter *fmtCurrency = [[[NSNumberFormatter alloc] init] autorelease];
[fmtCurrency setNumberStyle: NSNumberFormatterCurrencyStyle];
NSLocale* locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_UK"] autorelease]; 
[fmtCurrency setLocale:locale];
person PeyloW    schedule 01.08.2011