32无符号整数转换成字符串
来源:互联网 发布:炫彩表白软件 编辑:程序博客网 时间:2024/04/28 10:40
#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 顶端