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