Как отформатировать двойной формат денег? Например: 3.234,12 - PullRequest
1 голос
/ 16 ноября 2010

У меня есть строка, введенная пользователем, эта строка обрабатывается, чтобы иметь только цифры, такие как: "3472042".

Затем я преобразовываю эту строку в двойное значение, но я хочу, чтобы онабыть отформатирован в денежном выражении, например: 3.472,042

Точно так же, как DecimalFormat в Java, если это помогает.

Я пробовал некоторые вещи с NSNumberFormatter, но не повезло.Кто-нибудь может мне помочь с этим?

Сначала использовал это:

        NSString *string = txtOtherPower.text;
        NSCharacterSet *removeCharSet = [NSCharacterSet characterSetWithCharactersInString:@"•€£¥./:;@#$%&*(){}[]!?\\-|_=+\"`'~^abcdefghijklmnopqrstvwxyz' '"];
        string = [[string componentsSeparatedByCharactersInSet:removeCharSet] componentsJoinedByString:@""];

Так что единственными приемлемыми символами являются запятая "," и цифры.Проблема в том, что если я наберу что-то вроде "2,2,2,2,,,,,1,,2", то это ничего не даст.И это портит мою строку / число.

Мне нужны идеально отформатированные денежные значения ... Есть идеи?

1 Ответ

4 голосов
/ 16 ноября 2010

Создайте NSNumberFormatter, установите его стиль на NSNumberFormatterCurrencyStyle или NSNumberFormatterDecimalStyle (или, если эти стили вам не подходят, настройте его на setPositiveFormat:, setNegativeFormat: и т. Д.), А затем преобразуйте номер строки с stringFromNumber:.

Подробности смотрите в документации по этому классу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...