由于一般的版本号格式都是类似于“3.1.1”这样的,所以不能用floatValue比较。这时可以用

NSString *num1 = @"5.2.0";
NSString *num2 = @"5.3.0";    

if ([num1 compare:num2 options:NSNumericSearch] == NSOrderedDescending) {        
    NSLog(@"%@ is bigger",num1);    
} else {        
    NSLog(@"%@ is bigger",num2);    
}

其中NSOrderedDescending是降序排列

 

###更新---补充版本号相等的情况###
上述写法有缺陷,当版本号相同时也会提示,应该添加相同情形时才完整

if ([num1 compare:num2 options:NSNumericSearch] == NSOrderedDescending) {        
    NSLog(@"%@ is bigger",num1);    
} else if([num1 isEqualToString:num2]){
    NSLog(@"same");        
} else {        
    NSLog(@"%@ is bigger",num2);    
}

 

posted on 2017-05-25 11:19  lixin327  阅读(784)  评论(0编辑  收藏  举报