Comparing two version numbers

会有一股神秘感。 提交于 2019-12-07 01:34:32

问题


How can I compare two Version number strings?

For example: 3.1.1 and 3.1.2.5.4

Now I need to find out if 3.1.2.5.4 is higher than 3.1.1 but I don't know how to do this. Can anybody help me?

Thanks in advance!


回答1:


Sample Code :

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);
}

From the Apple Documentation for Comparing and sorting strings.




回答2:


Yes, you can compare the versions, please refer the code below:

public class Comparision {

    string ver1, ver2;
    public static void main(String args[]){
    string ver1Split[] = ver1.split('.');
    string ver2Split[] = ver2.split('.');

    for (int i = 0; i < ver1Split.length; ++i) {
        if (ver2Split == i) {
            return ver1 + " is larger";
        }

        if (ver1Split[i] == ver2Split[i]) {
            continue;
        }
        else if (ver1Split[i] > ver1Split[i]) {
            return ver1 + " is larger";
        }
        else {
            return ver2 + " is larger";
        }
        if (ver1Split.length != ver2Split.length) {
            return ver2 + " is larger";
        }
        return "versions are equal";
    }
}


来源:https://stackoverflow.com/questions/18594257/comparing-two-version-numbers

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!