#include<stdio.h>
void u32tostr(unsigned int value, unsigned char * p_str)
{
const unsigned int base_tab[11]={1000000000,100000000,10000000,1000000,100000,10000,1000,100,10,1,0};
unsigned char count,index=0,base_index=0;
unsigned char flag=0;
char i,j;
while(base_tab[base_index])
{
if(value>=base_tab[base_index])
{
p_str[index]=(unsigned char)(value/base_tab[base_index]);
value-=p_str[index]*base_tab[base_index];
p_str[index++]+='0';
flag=1;
}
else if(flag)
{
p_str[index++]='0';
}
base_index++;
}
p_str[index]=0;
if(index==0)
{
p_str[0]='0';
p_str[1]=0;
index=1;
}
for(count=0,i=index;i>0;i--)
{
if(count<3)//count=0,i向前移3位.count=1,i向前移2位.
{
count++;
continue;
}
for(j=index;j>=i;j--)
{
p_str[j+1]=p_str[j];
}
p_str[i]=',';
index++;
count=1; //循环完成后i减去1。
}
}
void main(void)
{
unsigned int test=12345678;
unsigned char pinteger[]={'0',};
u32tostr(test,pinteger);
printf("%s\n",pinteger);
}
1,1 顶端
32无符号整数转换成字符串
最新推荐文章于 2021-10-21 10:56:26 发布