Как добавить строку в iphone дифференцировать с разделителем ","? - PullRequest
1 голос
/ 22 апреля 2011

Я думаю, что это глупый вопрос, но я не знаю, что с этим делать. Есть много сгенерированных ордеров, каждая строка цены ордера представлена ​​в этом формате "123,145,234,33,8", это только для одного ордера. Скажите, пожалуйста,мне, как я могу добавить все это значение и получить сумму всех как «123 + 145 + 234 + 33 + 8» = 543. сумму, которую я должен показать в табличном виде для каждого заказа.я застрял на них, пожалуйста, я разрабатываю этот материал для iphone, пожалуйста, дайте мне информацию с кодом.

Спасибо.Если информация не полная, дайте мне знать.

Ответы [ 2 ]

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

Разделить строку на ,, преобразовать в числа и суммировать их:

NSArray *parts = [myString componentsSeparatedByString:@","];
for (NSString *s in parts) {
    sum += [s integerValue];
}

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

NSRange trimRange = NSMakeRange(0, [myString length]-1);
NSString *trimmed = [myString substringWithRange:trimRange];

... или с помощью -stringByTrimmingCharactersInSet:, если ваши потребности более сложны.

0 голосов
/ 23 апреля 2011

Небольшая модификация ответа Георга Фрицше

NSMutableArray* array = [NSMutableArray arrayWithArray:[myString componentsSeparatedByString:@","]];

//// Remove last object. You might want to make sure it's always the case. ////
[array removeLastObject];

//// Here's a cool trick using Collection Operators. ////
NSNumber* sum = [array valueForKeyPath:@"@sum.intValue"];

NSInteger k = [sum intValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...