把一个字符串转换成浮点数
网上down的这个东东越来越不像baidu的风格了,aotf....好了言归正传,这里没有考虑输入错误,以及是指数形式的情况....
#include <stdio.h> #include <string.h> #include <stdlib.h>
float atol_my(char *str) { int i=0; int sum=0; int flag=0; int bMinus = 0; float decimal=0.0; float flt = 1.0; if(*str=='-') { str++; bMinus=1; } while(*str != '\0') { if(*str=='.') { flag=1; str++; continue; } if(flag==0) sum = sum * 10+(*str-'0'); else { flt *= 0.1; decimal += (*str-'0')*flt; } str++; } if (bMinus) { return -(sum+decimal); } else { return sum+decimal; } }
int main() { char *str=malloc(20*sizeof(char)); printf("Enter The int string:\n"); scanf("%s",str); printf("it is %f\n",atol_my(str)); system("PAUSE"); return 0; }
|
阅读(2535) | 评论(0) | 转发(0) |