我有一个像
这样的字符串NSString* str = @"[\"40.00\",\"10.00\",\"60.05\"]";
我需要总字符串金额" 110.05"
答案 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
转换为double
或float
的方法可能会导致舍入错误,要解决此问题,您必须使用NSDecimalNumber。