2011-04-22 67 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]; 
相關問題