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

来源:互联网 发布:网络编辑是什么 编辑:程序博客网 时间:2024/06/11 15:58
编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
例如:“12.34“   返回12.34
 “-123.34“      返回-123.34
函数原型:double my_atof(char *str)

{......}


#include <stdio.h>#include <math.h>double my_atof(char *str){int flag;            //符号位 int point;  // int count=0;  //小数点的位数double sum=0;        //十进制结果 while(*str){if(*str=='-'){flag = -1;str ++;}if(*str=='.'){point = 1;str ++;}if(*str>='0' && *str<='9'){sum = sum*10 + (*str-'0');str ++;}if(point == 1){count ++;}}sum = flag*sum*pow(10,-count);return sum;}int main(){char *p="-123.34";printf("%.2f\n",my_atof(p));return 0;}

运行结果截图:


0 0
原创粉丝点击