阅读背景:

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

来源:互联网 
//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
//例如:“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 != '
//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
//例如:“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="https://img-blog.csdn.net/20150403140644994?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG91ZG91d2ExMjM0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />


') { 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; }//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数) //例



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: