C语言的话直接用库函数itoa()就行了,要是用算法的话就是不停地除10取模,再把结果反过来。
#include
#include
int main()
{
double a=123456.789;
char buf[100];
memset(buf,100,'\0');
//转换成字符型
sprintf(buf,"%lf",a);
int len=strlen(buf);
int i=0;
int j=1;
//去除末尾多余的0
while(buf[--len]=='0')
{
buf[len]='\0';
}
//打印每一位,‘.’不打印
while(buf[i]!='\0')
{
if(buf[i]!='.')
{
printf("[%d] %c\n",j++,buf[i]);
}
i++;
}
return 0;
}
赞同