【C语言】编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)

来源:互联网 发布:怎么区分淘宝是否正品 编辑:程序博客网 时间:2024/06/05 05:34
//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)//例如:“12.34“  返回12.34.   "   -12.34"  返回12.34#include<stdio.h>  #include<math.h>  #include<assert.h>double my_atof(char *str)  {        int flag=0;       int count = 0;      int ret = 1;      double sum = 0;assert(NULL!=str);     while(*str != '\0')      {           if(*str == '-')         {            ret = -1;            str++;         }         if(*str == '.')         {             flag = 1 ;             str ++;         }         if(*str >= '0' && *str <= '9')         {           sum = sum*10 + (*str - '0');                      if(flag == 1)           {             count ++;           }         }         str++;      }       sum = sum /pow(10,count);       return ret*sum;  }  int main()  {     char p[]=" -52.36 ";       printf("%f\n",my_atof(p));     return 0;  }
<img src="http://img.blog.csdn.net/20150403140644994?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG91ZG91d2ExMjM0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

0 0
原创粉丝点击