一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: HGQ21102

[其他综合] 整数怎样转换成字符串?

[复制链接]
 楼主| 发表于 2014-4-26 21:32 | 显示全部楼层
donglele2005 发表于 2014-4-26 20:32
应该是这样的的  看你具体的程序框架
是用于数码管或者lcm显示的啊?

这样折字我会,但num[]="543210"与num[]='5','4','3','2','1','0'不知是不是一样的
回复

使用道具 举报

发表于 2014-4-26 21:32 | 显示全部楼层
从编程应用的角度,只有sprintf一个答案。
其他的基本上都是“穷折腾”性质的自定义函数。

在C里边,字符串和数组(字符)是有区别的,谭浩强讲的很清楚……
回复

使用道具 举报

发表于 2014-4-26 21:39 | 显示全部楼层
HGQ21102 发表于 2014-4-26 21:32
这样折字我会,但num[]="543210"与num[]='5','4','3','2','1','0'不知是不是一样的

3楼说的很清楚,使用sprintf格式化输出函数,人家是高手不想多解释罢了~~~
回复

使用道具 举报

发表于 2014-4-26 23:37 | 显示全部楼层
用了sprintf后CODE爆增2K多,不知道是什么原因,C51和GCC的都是这样,求解
回复

使用道具 举报

发表于 2014-4-27 00:06 | 显示全部楼层
这是肯定的,sprintf是系统预置函数,你调用他就等于调用了子函数,所以大了很多,
回复

使用道具 举报

发表于 2014-4-27 01:41 | 显示全部楼层
51等低速小flash的U,还是老老实实的用4楼的办法吧。。。
回复

使用道具 举报

发表于 2014-4-27 01:50 | 显示全部楼层
  1. char tmp[]="0123456789";
  2. char i;
  3. char tmp1[5];
  4.        
  5.         for (i=5;i>0;i--)
  6.         {
  7.                 tmp1[i-1]=tmp[v%10];
  8.                 v=v/10;

  9.         }
复制代码
我用过这个,CODE加500,还是把问题复杂化了,4楼的多好!

点评

我都是直接+'0',没定义数组。  发表于 2014-4-27 06:08
回复

使用道具 举报

发表于 2014-5-24 20:25 | 显示全部楼层
我也是直接+'0'
回复

使用道具 举报

发表于 2014-5-25 14:43 | 显示全部楼层
用4楼的办法把  sprintf会把单片机累死的
回复

使用道具 举报

发表于 2014-5-25 16:13 | 显示全部楼层
        i=0;
        do
        {
                DataBuf[i]=dat%10+0x30;                        //取个位
                i++;
                  dat/=10;                                                  //左移一位
        }while(dat!=0);


dat就是装543210的   DataBuf是一个数组
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-19 00:08 , Processed in 0.043377 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表