OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7191|回复: 8

原子哥小数怎么显示???

[复制链接]

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
发表于 2015-3-10 18:05:04 | 显示全部楼层 |阅读模式
5金钱
extern u32 lcdXX=9000000;
如果把要9000000,显示成9000.000该怎么弄呢?

最佳答案

查看完整内容[请看2#楼]

用sprintf最简单了. 将你要的结果县转换成字符串,然后就是显示字符串了.
新手学STM
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-10 18:05:05 | 显示全部楼层
用sprintf最简单了.
将你要的结果县转换成字符串,然后就是显示字符串了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-3-10 18:05:05 | 显示全部楼层
楼主这样调用,然后显示disp_buf这个数组里的字符。
sprintf(disp_buf,"%04u.%03u",lcdXX/1000,lcdXX%1000);
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-3-10 19:06:28 | 显示全部楼层
先显示9000,再显示后面的就行了,或者使用sprintf函数将这个数打印到一个buf里面,再调用显示字符串函数即可
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-13 20:29:01 | 显示全部楼层
回复【4楼】fanghuiopenedv:
---------------------------------
受教了
新手学STM
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-13 22:13:01 | 显示全部楼层
回复【5楼】psufhvka:
---------------------------------这个怎么弄呢?

extern u32 lcdXX;
-----------------------------------------
char *DisNum; 
----------------------------
 sprintf(DisNum,"%04u.%03u",lcdXX/1000,lcdXX%1000);
 LCD_ShowString(60,50,200,16,16,DisNum);

最后一条会错,怎么弄呢??该怎么改???
新手学STM
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-3-14 09:45:47 | 显示全部楼层
回复【6楼】psufhvka:
---------------------------------
char *DisNum; ----这个是指针不是数组
char DisNum[20];---这样才是数组啊。注意了,我说的是数组没有让你定义成指针的。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-3-14 09:50:56 | 显示全部楼层
回复【6楼】psufhvka:
---------------------------------
我这样调用没有问题。
u8 version_string[7]="V1.2.7";//软件版本设置
LCD_ShowString(650,30,version_string,RED,BLACK);
如果你用指针的话,那么估计要加强制转换"(u8 *)DisNum"。
就是:
LCD_ShowString(60,50,200,16,16,(u8 *)DisNum); 
不建议你用指针,还是用数组吧。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-14 11:10:09 | 显示全部楼层
回复【8楼】fanghuiopenedv:
---------------------------------
原来这样呀,多谢指点
新手学STM
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 21:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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