比较两个版本号

Ami*_*iQo 7 compare version ios

如何比较两个版本号字符串?

例如:3.1.1和3.1.2.5.4

现在我需要找出3.1.2.5.4是否高于3.1.1但我不知道如何做到这一点.有谁能够帮我?

提前致谢!

Bha*_*vin 9

示例代码:

NSString* v1 = @"3.1.1";
NSString* v2 = @"3.1.2.5.4";

if ([v1 compare:v2 options:NSNumericSearch] == NSOrderedDescending) {
    NSLog(@"%@ is greater than %@",v1,v2);
}
Run Code Online (Sandbox Code Playgroud)

从Apple文档中比较和排序字符串.

  • 边缘情况:如果一个以`.0`结尾而另一个不结束则不起作用,例如`@"3.1"`和`@"3.1.0"`.拆分解决方案(请参阅@ pArAs的答案)或填充,可以解决这个问题. (3认同)