[求助]如何将浮点数转换为字符型
急急急!!!!!
如何将浮点数转换为字符型
谢谢!!!~~~~~~~~~
----------------解决方案--------------------------------------------------------
float x,y;
char string[20],*p=string;
long l,l2;
l=(long)x;
l2=(x-l)*pow(10,7);
ltoa(l,p,10);
n=strlen(string);
p=p+n;
*p++='.';
ltoa(l,p,10);
不知道这样行不行.
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main()
{
float num=123.456;
char str[8];
sprintf(str,"%.3f",num); /* 有限制,格式要确定 比如%.3f */
printf("%s",str);
}
----------------解决方案--------------------------------------------------------
ftoa
用法类似itoa
----------------解决方案--------------------------------------------------------
楼主是不是要把浮点型转化为字符串型数据?
如果不是可以用 强制类型转化.
----------------解决方案--------------------------------------------------------
原先发的那个代码有点问题,要编写者自己判断位数,现在可以将%f用%g替换,不过float型只能有六位有效数字,这跟它的精度有关吧.
#include<stdio.h>
int main()
{
float num=123.456;
char str[8];
sprintf(str,"%g",num); /* 注意是%g */
printf("%s",str);
}
----------------解决方案--------------------------------------------------------