由于一般的版本号格式都是类似于“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); }