如果输入: 123456.23 输出应为:123,456.23
如果输入: 1234.23 输出应为:1,234.23
如果输入: 12345.23 输出应为: 12,345.23
#include<stdio.h>
#include<conio.h>
int main()
{
int a,b,i,j=0,flag=1,i1=0,k=0;
double m;
char c[80];
scanf("%lf",&m);
b=a=(int)m;
if(m<0)
{flag=-1;a*=-1;b*=-1;j=1;}
if(a==0)
{ if(flag==1)
{c[0]='0';i=1;}
else
{c[0]='-';c[1]='0';i=2;}
}
else{
while(a!=0)
{a=a/10;j++;i1++;}
if(i1>3)
j++;
for(i=0;i<j;i++)
{ if(i==3)
{c[j-i-1]=',';k=-1;}
c[j-i-1+k]=b%10+'0';
b/=10;
}
if(flag==-1)
c[0]='-';
}
c[i]='.';
j=1;
m=(m-(int)m);
if(flag==-1)
m=(m-(int)m)*-1;
while(1)
{
b=(int)(m*10);
m=m*10-b;
c[i+1]=b+'0';
i++;
if(j==10)/*限制小数个数*/
{c[i+1]=0;break;}
j++;
}
printf("\n%s\n",c);
getch();
return 0;
}