您的位置:首页 > 其它

自己实现的atio()和atof()函数

2016-08-08 23:42 363 查看
函数名:myatoi

功能:把字符串转化成int整型

  名字来源:my array to integer 

  函数说明:接收一个字符串判断第一个字符的符号,没有符号默认为正值,然后对剩             余字符串进行转换,//遇到\0结束,最后返回一个int

int myatoi(const char* sptr)

    {

  bool ispnum=true;

    int ans=0;

    if(*sptr=='-')//判断是否是负数

    {

        ispnum=false;

        sptr++;

    }

    else if(*sptr=='+')//判断是否为正数

    {

        sptr++;

    }

    while(*sptr!='\0')//类型转化

    {

        ans=ans*10+(*sptr-'0');

        sptr++;

    }

    if(ispnum) return ans;

    else return ans*(-1);

    }

函数名:myatof

功能:把字符串转化成double浮点型

  名字来源:my array to floating point numbers 

  函数说明:接收一个字符串判断第一个字符的符号,没有符号默认为正值,然后对剩             余字符串进行转换,//遇到\0结束,最后返回一个double

double myatof(const char* sptr)

    {

    double temp=10;

    bool ispnum=true;

    double ans=0;

    if(*sptr=='-')//判断是否是负数

    {

        ispnum=false;

        sptr++;

    }

    else if(*sptr=='+')//判断是否为正数

    {

        sptr++;

    }

    while(*sptr!='\0')//寻找小数点之前的数

    {

        if(*sptr=='.'){ sptr++;break;}

        ans=ans*10+(*sptr-'0');

        sptr++;

    }

    while(*sptr!='\0')//寻找小数点之后的数

    {

        ans=ans+(*sptr-'0')/temp;

        temp*=10;

        sptr++;

    }

    if(ispnum) return ans;

    else return ans*(-1);

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: