#include <stdio.h>
int main()
{
float fl;
int length=1;
int re_length=0;
int i=0;
int sh_length=0;
int keep;
int space=0;
char pl[100]={0};
char *p;
p=pl;
printf("请你输入一个浮点型\n");
scanf("%f",&fl);
while(1)
{
fl*=10;
keep=fl;
if(keep%10==0)
{
keep/=10;
break;
}
sh_length++;
}
printf("keep %d\n",keep);
space=keep;
while(1)
{
space/=10;
length++;
if(space%10==0)
{
break;
}
}
printf("length%d\n",length);
re_length=length-sh_length;
p=pl;
i=length;
p+=(length-1);
while(1)
{
if(i!=re_length)
{
space=keep%10;
keep/=10;
*p=space+'0';
printf("space%d\n",space);
--i;
p--;
}
else
{
*p='.';
--i;
p--;
}
if(p==pl)
{
space=keep%10;
keep/=10;
*p=space+'0';
break;
}
}
printf("%s",pl);
return 0;
}
将浮点数转换成字符串的思路:先将浮点数强转取整,分别对整数部分和小数部分处理(小数部分不断*10,取整)
最新推荐文章于 2024-07-29 13:46:39 发布