一维字符数组如何转为浮点型数据 5
例如char[10]={-,2,1,.,3,4,5};floatb;用C语音写个转换程序使b=-21.345;谢谢各位大虾...
例如 char[10]={-,2,1,.,3,4,5};
float b;
用C语音写个转换程序使 b=-21.345;谢谢各位大虾 展开
float b;
用C语音写个转换程序使 b=-21.345;谢谢各位大虾 展开
1个回答
2009-12-17
展开全部
没人可以偷啊~
哈 不过我想出来了(当然,中间有一点不为人知的秘密~....)
分2步走, 先把char转化为int(这两个数据都是通过ASCII码来转化的,也就是可以互用),然后再把int转化为float
程序大概是
{char a[10]={'-','2','1','.','3','4','5'};
int temp,i;
float b;
(int)a[1]-48=temp; \*强制转化为整型量,因为字符1的ASCII码代表整型量的49,所以强制转化后-48就是整型的1*\
temp=(int)a[2]-48+temp*10; \*乘10后增位加上下一个数作为各位*\
for(i=4;i<7;i++) \*简单循环*\
temp=(int)a[i]-48+temp*10;
temp=-1*temp;
b=temp; \*把整型转化为浮点型*\
b=b/100; \*看小数点在什么位置就除以什么数了*\
printf(“%f”,b);
}
不知道满意不~~
哈 不过我想出来了(当然,中间有一点不为人知的秘密~....)
分2步走, 先把char转化为int(这两个数据都是通过ASCII码来转化的,也就是可以互用),然后再把int转化为float
程序大概是
{char a[10]={'-','2','1','.','3','4','5'};
int temp,i;
float b;
(int)a[1]-48=temp; \*强制转化为整型量,因为字符1的ASCII码代表整型量的49,所以强制转化后-48就是整型的1*\
temp=(int)a[2]-48+temp*10; \*乘10后增位加上下一个数作为各位*\
for(i=4;i<7;i++) \*简单循环*\
temp=(int)a[i]-48+temp*10;
temp=-1*temp;
b=temp; \*把整型转化为浮点型*\
b=b/100; \*看小数点在什么位置就除以什么数了*\
printf(“%f”,b);
}
不知道满意不~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询