atof()函数实现

atof() 函数

函数声明: double atof(const char *str );

功 能: 把字符串转换成浮点数

str:要转换的字符串。

函数返回:返回把字符串str开始部分的数字(和符号)字符转换为 double类型的值,跳过开始的空白字符,遇到第一个非数字 字符时结束转换,如果未发现数字字符(未能转化)则返回0;

个人认为:my_atof() 函数实现的核心是围绕是否有小数点展开的 即在字符 e或E 之前的实数

实现:

double my_atof(const char * str)
{
	int num=0;                                             //用于记录数字字符的个数。
	int flag=0;                                            //标记小数点的。flag==0时是没小数点的。
	int s=1;                                               //符号位s . 第一个为'-'时,符号为负,s=-1.
	int sE=1;                                              //字符 E或e 后第一个符号位sE 。当E或e后面第一个为'-'时,sE=-1.
	unsigned y=0;                                          //E或e 后面的整数值.(即y次方)
	double item=10.0;                                      //小数点后面sum的项;
	double sum=
  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值