我認爲這是愚蠢的問題,但我不知道該怎麼做這個。有很多訂單生成每個訂單價格字符串進來這種格式「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