我认为这是愚蠢的问题,但我不知道该怎么做这个。有很多订单生成每个订单价格字符串进来这种格式“123,145,234,33,8,”这是一个订单只能请你告诉我我怎么能把所有这个值加起来,并得到所有的总和,如“123 + 145 + 234 + 33 + 8”= 543。我必须在每个订单的tableview中显示的总和。 我卡在这些请我开发这个东西的iPhone请给我代码的信息。如何在iPhone中添加字符串区分分隔符“,”?
谢谢。 如果信息不完整,请告诉我。
我认为这是愚蠢的问题,但我不知道该怎么做这个。有很多订单生成每个订单价格字符串进来这种格式“123,145,234,33,8,”这是一个订单只能请你告诉我我怎么能把所有这个值加起来,并得到所有的总和,如“123 + 145 + 234 + 33 + 8”= 543。我必须在每个订单的tableview中显示的总和。 我卡在这些请我开发这个东西的iPhone请给我代码的信息。如何在iPhone中添加字符串区分分隔符“,”?
谢谢。 如果信息不完整,请告诉我。
分割由,
字符串,转换为数字,总结起来:
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:
如果您的需要更复杂。
稍加修改,以乔治·Fritzsche也的回答
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];
我很欣赏你的答案被真正解决我的问题,但是当我用这个尝试我得到意想不到没有。这个问题,因为在我的整个字符串结尾,我得到了“,”你可以看到我上面描述的像“123,145,234,33,8”,值也像“123.0,145.3,234.66,33.9,8.8”,你可以请帮助更多关于它[email protected] Fritzsche – prathamiphone 2011-04-22 20:49:35
@prath:如果你有部分价格,你可能想用['NSDecimalNumber'](http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ Foundation/Classes/NSDecimalNumber_Class/Reference/Reference.html#// apple_ref/doc/uid/20000179-decimalNumberWithString_)here。 – 2011-04-22 21:38:35