<p align="left">例如:“12.34“ 返回12.34</p><p align="left"> “-123.34“ 返回-123.34</p><p align="left">函数原型:doublemy_atof(char *str)</p><p align="left">{}</p>
#include<stdio.h> #include<math.h> int main() { double my_atof(char *str); char str[]="123.4"; printf("%lf\n",my_atof(str)); return 0; } double my_atof(char *str) { int flag=1; double num=0; int count=0; int clark; while(*str!='\0') { if(*str=='-')//判断正负数 { flag=-1; str++; } if(*str=='.')//判断是否存在小数点 { clark=1; str++; } if(clark==1) { count++; } if( (*str>='0') && (*str<='9') )//判断是否在字符1到9之间 num=num*10+(*str-'0'); str++; } num=flag*num*pow(10,-count); return num; }
用c语言实现 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
原文:http://blog.csdn.net/s0soul/article/details/44902983