Как преобразовать форматированный текст валюты в двойное значение или значение NSNumber? - PullRequest
5 голосов
/ 08 сентября 2011

Я хочу конвертировать валюту в двойное значение

В моем приложении у меня есть текстовое поле, которое отображает валюту как

1 234 567,00 долл. США

Я могу легко удалить знак $ с помощью подстрок

Но есть ли какой-нибудь стиль Formatter, который может сделать это в Double? На самом деле, когда я делаю

vardouble = [txtfield.text doublevalue];

из-за запятой показывает 1,00 (выше значения).

Ответы [ 2 ]

9 голосов
/ 08 сентября 2011

Я бы предложил вам использовать NSNumberFormatter.

NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
[nf setNumberStyle:NSNumberFormatterCurrencyStyle];
double d = [[nf numberFromString:@"$1,234,567.00"] doubleValue];
3 голосов
/ 08 сентября 2011

1) Сначала удалите запятые, используя - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;

2), затем позвоните [yourString doubleValue]

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