首页 > 编程语言 > 详细

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

时间:2015-04-03 15:21:27      阅读:182      评论:0      收藏:0      [点我收藏+]
//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
//例如:“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="" />

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

原文:http://blog.csdn.net/doudouwa1234/article/details/44854709

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!