如何添加 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
转换为 double
或 float
的方法可能会导致舍入错误,要解决此问题,您必须改用 NSDecimalNumber。
我有一个像
这样的字符串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
转换为 double
或 float
的方法可能会导致舍入错误,要解决此问题,您必须改用 NSDecimalNumber。