• 软件版本号比较(字符串比较)


    7.版本号比较(字符串比较)

    复制代码
    int CompareVersion(QString strVer1, QString strVer2)
    {
        if ( !strVer1.compare( strVer2 ) )
        {
            return 0;
        }
    
        QStringList list1 = strVer1.split( "." );
        QStringList list2 = strVer2.split( "." );
    
        int iTotal1 = list1.count();
        int iTotal2 = list2.count();
    
        int iTotal=iTotal1>iTotal2?iTotal2:iTotal1;
    
        int iValue1 = 0, iValue2 = 0;
        bool ibOK1 = false, ibOK2 = false;
        for ( int iNum = 0; iNum < iTotal; ++iNum )
        {
            iValue1 = list1[iNum].toInt( &ibOK1 );
            if (!ibOK1)
            {
                iValue1=0;
            }
    
            iValue2 = list2[iNum].toInt( &ibOK2 );
            if (!ibOK2)
            {
                iValue2=0;
            }
    
            if (iValue1==iValue2)
            {
                continue;
            }
            else if ( iValue1 < iValue2 )
            {
                return -1;
            }
            else
            {
                return 1;
            }
        }
    
        return iTotal1<iTotal2?-1:1;
    }
    复制代码

    测试:

    CompareVersion("16.01.19", "16.01.19") //return 0;
    CompareVersion("16.01.19", "16.01.18") //return 1;
    CompareVersion("16.01.18", "16.01.19") //return -1;

    https://www.cnblogs.com/sz-leez/p/6537004.html

  • 相关阅读:
    php解析文本文件呈现在表格上
    nyoj 1058部分和问题
    nyoj 488素数环
    nyoj 82迷宫寻宝(一)
    nyoj58最少步数
    nyoj 325 zb的生日
    nyoj 20 吝啬的国度
    nyoj 349 Sorting It All Out
    nyoj 284
    PPT基础整理
  • 原文地址:https://www.cnblogs.com/findumars/p/9189641.html
Copyright © 2020-2023  润新知