如果值存储为NSNumber 对象,则可以使用集合运算符。例如:
NSArray *array = @[@1234.56, @2345.67];
NSNumber *sum = [array valueForKeyPath:@"@sum.self"];
如果你想使用NSNumberFormatter很好地格式化sum:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSString *result = [formatter stringFromNumber:sum];
NSLog(@"result = %@", result);
如果您的值确实由字符串表示,@"1,234.56"、@"2,345.67" 等,那么您可能需要手动遍历数组,使用 NSNumberFormatter 将它们转换为数值,然后将它们相加继续:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSArray *array = @[@"1,234.56", @"2,345.67"];
double sum = 0.0;
for (NSString *string in array) {
sum += [[formatter numberFromString:string] doubleValue];
}
NSString *result = [formatter stringFromNumber:@(sum)];
NSLog(@"result = %@", result);