如何为NSString添加总数

时间:2016-03-30 10:58:40

标签: ios objective-c nsstring

我有一个像

这样的字符串
NSString* str = @"[\"40.00\",\"10.00\",\"60.05\"]";

我需要总字符串金额" 110.05"

2 个答案:

答案 0 :(得分:1)

这个怎么样?

float myTotal = 0;
for(int i=0;i<[_orderObj.itemArray count];i++) {
    NSString *atemp=[_orderObj.itemArray valueForKeyPath:@"price"];
    NSLog(@"title %@", atemp);
    myTotal = myTotal + [atemp floatValue];
}
NSLog(@"final total==%f", myTotal);

答案 1 :(得分:1)

您可以按以下步骤操作:

<强> 1。从字符串中创建一个数组。由于数组采用JSON格式,您可以这样做:

NSString* str = @"[\"40.00\",\"10.00\",\"60.05\"]";
NSArray *stringArray = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];

<强> 2。将字符串转换为double并将其添加

double sum = 0;
for (NSString *value in stringArray) {
    sum += [value doubleValue];
}

第3。将总和转换回NSString:

NSString *sumStr =[[NSString alloc] initWithFormat:@"%f", sum];

请注意,将NSString转换为doublefloat的方法可能会导致舍入错误,要解决此问题,您必须使用NSDecimalNumber