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