如何添加 NSString 的总数

how to add total number for NSString

我有一个像

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

我需要字符串总数“110.05”

这个怎么样?

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.从字符串中创建一个数组。由于数组是 JSON 格式,你可以这样做:

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

2。将字符串转换为双精度并将它们相加

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

3。将总和转换回 NSString:

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

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