NSNumberFormatter Добавление скобок - PullRequest
0 голосов
/ 01 августа 2011

Я пытаюсь получить NSNumberFormatter для отображения валюты. У меня есть два UILabel, оба отформатированы одним и тем же 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 вариант «добавить скобки, если он слишком длинный», но, похоже, его нет, а вторая метка, которая отображается правильно без скобок, длиннее первой.

1 Ответ

1 голос
/ 01 августа 2011

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

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