Как правильно отформатировать эту NSString? - PullRequest
0 голосов
/ 15 апреля 2011

Я хочу отформатировать строку, которая может выглядеть так:

0.0580 which means 5.8 ct

0.1580 which means 15.8 ct

1.1580 which means 1.15 €

Таким образом, строка может быть любой в формате x.xxxx. Теперь я начал его форматировать, но я плохо знаком с целью-c и iOS.

Сначала я хочу удалить последний символ, потому что последнее число не имеет значения, и я не хочу округлять числа.

NSString *responseString = [responseData 
                    substringWithRange:NSMakeRange(1, 
                             [responseData length]-2)];

Это дает мне хххх пока. Есть идеи, как поступить и какой код использовать? Есть ли библиотеки по этому поводу?

Ответы [ 2 ]

3 голосов
/ 15 апреля 2011

Посмотрите на класс NSNumberFormatter.Он должен делать то, что вам нужно.Примерно так:

NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc] init];
NSNumber *myNumber = [NSNumber numberWithDouble:[@"0.158" doubleValue]]; 
[numFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *formattedValue = [numFormatter stringFromNumber:myNumber];
[numFormatter release];

Также посмотрите NSNumberFormatterStyle и NSNumberFormatterBehavior для управления форматом.

1 голос
/ 15 апреля 2011

Получив свой номер в форме x.xxx, вы можете сделать что-то вроде:

float floatValue = [@"0.158" floatValue]; // Get your string as a number.
floatValue *= 100; // Turn '0.158' into '1.58'

Отвечает ли это на ваш вопрос?Я не совсем уверен, что это так, поэтому обновите ваш вопрос, и я постараюсь помочь вам лучше.

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