C++帶逗號分隔符的字符串轉數字


/*
將帶有逗號分隔符的字符串數字轉換為對應數字
對於諸如"1a2b3c",返回0,ok被修改為false
ok標識是否轉換成功
*/
long str2num(const char* str,bool& ok)
{
    long result=0;
    int t=1;
    ok=true;
    const char* pstr=str;
    if(*pstr=='-')
    {
        t=-t;
        pstr++;
    }
    while(*pstr!='\0')
    {
        if(isdigit(*pstr))
        {
            result*=10;
            result+=*pstr-'0';
        }
        else
        {
            if(*pstr!=',')
            {
                ok=false;
                return 0;
            }
        }
        pstr++;
    }
    return t*result;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM