新手求助:数字换字符串

2019-03-24 17:40发布

请问:怎么把一个不确定位数的数字换成字符数组? 我本意是想做一个12864显示的计数器,数值一直累加,所以位数会越来越多,怎么把这个数字转换成相应位数的字符数组呢?     感谢二楼,俺初学,没太看明白 ,自己整了个,可以把6位以下数字转成字符串,因为用来显示的 所以下面加了把最高位的0变成空格     uchar temp[6]={"      "};   ulong k; void hextostring(ulong i)
{
 uchar j;
 i=k;
 for(j=6;j>0;j--)
  {
   temp[j-1]=i%10+0x30;  
   i=i/10;
  }
 if(k<100000)       {temp[0]=' ';}
 if(k<10000)
  {temp[1]=' ';}
 if(k<1000)
  {temp[2]=' ';}
 if(k<100)
  {temp[3]=' ';}
 if(k<10)
  {temp[4]=' ';}
} [ 本帖最后由 yuanyx99 于 2011-12-13 09:54 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
Li_Lei
1楼-- · 2019-03-24 23:03
#include "LCDDriver.h"

void LCD_Display_DEC_uint16(uint8 address,uint16 dat,int8 mask)        //10进制显示 无符号整数数值 (16位数据)
{
        uint16 div=10000;
        uint8 tmp;
        LCD_Write_Command(0x80+address);
        do {
                tmp=0;
                while (dat>=div) {
                        dat-=div;
                        tmp++;
                }               
                if (mask<=0)
                        LCD_Write_Data(tmp+'0');
                mask--;
        }         while ((div/=10)>=10);
        LCD_Write_Data(dat+'0');
}
jishuaihu
2楼-- · 2019-03-24 23:15
 精彩回答 2  元偷偷看……
小小白
3楼-- · 2019-03-25 02:08
哎我也郁闷啊。。。。为了这个转换搞了一夜啊。。。
Li_Lei
4楼-- · 2019-03-25 03:42
还是加一个掩位作参数的好,以前总结出来的经验.

要实现前面的0不显示貌似简单,做起来很麻烦的.困难在于不知道上次显示内容末尾是否需要清除,比如100以后要显示99左对齐时如果不清除就会变成990,右对齐显示时就是199
由此在不增加额外开销前提下显示时一定得预先知道要显示的位数,这样也可屏蔽到多余的位.
温加饱
5楼-- · 2019-03-25 04:36
 精彩回答 2  元偷偷看……
Li_Lei
6楼-- · 2019-03-25 06:03
温加饱 发表于 2016-3-3 15:59
请问版主,如何将一串数字量变成字符串。如:
unsigned int i=12345 ,如何变成 char str1[] = { "12345" ...

http://bbs.eeworld.com.cn/thread-306789-1-1.html
这里有各种转换

一周热门 更多>