如何在objective-c中的字符串数组中找到最大的数值?

时间:2017-01-16 03:06:55

标签: ios objective-c nsarray

我有一个字符串数组

NSArray *myNumbers = @[@"0.0454", @"-1.3534", @"0.345",
                             @"65", @"-0.345", @"1.35"];

如何从这个字符串数组中找到最大的数值(65)?

是否有任何默认方法或解决方法?

1 个答案:

答案 0 :(得分:1)

只需在转换为float时对其进行排序,然后获取第一个或最后一个值取决于您的排序

NSString *max = [myNumbers sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
        float first = [(NSString*)a floatValue];
        float second = [(NSString*)b floatValue];
        if (first > second)
            return NSOrderedAscending;
        else if (first < second)
            return NSOrderedDescending;
        return NSOrderedSame;
    }][0];

NSString *max = [[myNumbers sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
        return [(NSString *)a compare:(NSString *)b options:NSNumericSearch];
    }] lastObject];