比較版本號大小

2021-10-06 02:50:57 字數 836 閱讀 6481

適用於用.分隔的形式,如2.2.2的格式;

/**

* * 1、前者大則返回乙個正數

* 2、後者大返回乙個負數

* 3、相等則返回0

* * @return int

*/if (version1 == null || version2 == null)

// 注意此處為正則匹配,不能用.

string versionarray1 = version1.split("\\.");

string versionarray2 = version2.split("\\.");

int idx = 0;

// 取陣列最小長度值

int minlength = math.min(versionarray1.length, versionarray2.length);

int diff = 0;

// 先比較長度,再比較字元

while (idx < minlength

&& (diff = versionarray1[idx].length() - versionarray2[idx].length()) == 0

&& (diff = versionarray1[idx].compareto(versionarray2[idx])) == 0)

// 如果已經分出大小,則直接返回,如果未分出大小,則再比較位數,有子版本的為大

diff = (diff != 0) ? diff : versionarray1.length - versionarray2.length;

return diff;

}

android 版本號大小比較

網上找了很多方法都不太靠譜,有問題,自己改了改,親試可以 1.主版本號 2.次版本號 3.修正版本號 4.編譯版本號 例如 2.1 3 3.7 5,10.2.0 在比較版本號時,正確的做法應該是,主版本號和主版本號比較,次版本號和次版本號比較等等,也就是把版本號分割,對應的組成之間進行比較,如下 版...

版本號大小比較演算法

版本號之間比較大小,本質上是比較字串之間的關係。這裡給定兩個版本號,你一定能迅速地區分出大小 0.0.2 0.0.3 想要讓電腦程式分辨她們的關係,可以直接使用strcmp 函式獲取返回值,如果你在 ios 系統下程式設計,也可以使用 nsstring 類提供的 nscomparisonresult...

C 如何比較版本號大小

最近遇到了乙個資料遷移的問題,因為配置檔案的結構發生變化,所以要把低版本的使用者資料儲存下來,存到最新版本中去。這裡就有乙個比較版本號大小的問題了,網上亂七八糟演算法一堆,大致意思就是用分割字串的方法,比如2.1.2和2.2.4,挨個比較,用遞迴來處理等等的,其實c 自帶乙個類verson 可以滿足...