码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-04-02 15:15:18      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:带符号浮点数转换整数

/*编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
例如:"12.34"  	返回12.34
	 "-123.34" 返回-123.34
函数原型:double my_atof(char *str)*/
#include <stdio.h>
double my_atof(char  const *str)
{
	int count = 0;
	int n = 0;
	double p = 0.0;
	if( *str == '-' )
	{
		n = 1;
		str++;
	}
	while( *str != '\0' )
	{
		//判断小数点
		if( *str == '.' )
		{
			count++;
			str++;
			continue;
		}
		//记住小数点移动的次数
        if( count )
		{
			count = count * 10;
		}
    p = p * 10 + ( *str - '0' );
    str++;
	}
	//除以小数点移动的次数
    p = p / count;
	if( n == 1 )
	{
		p = - p;
	}
	return p;	
}


int main()
{
    char *p = "-12.34";
	printf("转换后为:%f\n",my_atof(p));
	return 0;
}
<img src="http://img.blog.csdn.net/20150402133052823?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhcWlhbjU1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

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

标签:带符号浮点数转换整数

原文地址:http://blog.csdn.net/zhaoyaqian552/article/details/44830855

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!