2011-04-22 242 views
1

我认为这是愚蠢的问题,但我不知道该怎么做这个。有很多订单生成每个订单价格字符串进来这种格式“123,145,234,33,8,”这是一个订单只能请你告诉我我怎么能把所有这个值加起来,并得到所有的总和,如“123 + 145 + 234 + 33 + 8”= 543。我必须在每个订单的tableview中显示的总和。 我卡在这些请我开发这个东西的iPhone请给我代码的信息。如何在iPhone中添加字符串区分分隔符“,”?

谢谢。 如果信息不完整,请告诉我。

回答

1

分割由,字符串,转换为数字,总结起来:

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

我很欣赏你的答案被真正解决我的问题,但是当我用这个尝试我得到意想不到没有。这个问题,因为在我的整个字符串结尾,我得到了“,”你可以看到我上面描述的像“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

+0

@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

0

稍加修改,以乔治·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];