OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 226|回复: 7

求解一个c语言问题

[复制链接]

  离线 

56

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2017-7-12
在线时间
60 小时
发表于 2017-9-26 14:32:32 | 显示全部楼层 |阅读模式
1金钱
int x=10;
int y=3;

怎么得到10.3这个数呢?

怎么将10.3这个数存进一个变量中呢?

最佳答案

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

z=(float)(x*10+y)/10;
回复

使用道具 举报

  离线 

0

主题

146

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
346
金钱
346
注册时间
2017-6-19
在线时间
50 小时
发表于 2017-9-26 14:32:33 | 显示全部楼层
回复

使用道具 举报

  离线 

2

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2017-5-19
在线时间
108 小时
发表于 2017-9-26 14:52:34 | 显示全部楼层
float z;
z=(x*10+y)/10;
回复

使用道具 举报

  离线 

56

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2017-7-12
在线时间
60 小时
 楼主| 发表于 2017-9-26 21:05:09 | 显示全部楼层

非常感谢坛友
回复

使用道具 举报

  离线 

56

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2017-7-12
在线时间
60 小时
 楼主| 发表于 2017-9-26 21:22:06 | 显示全部楼层

我是这样打印出这个z的:printf("%f",z);

但是串口输出是0.000000;

可是实际上我的示波器检测出是正确的,因为带了小数点,所以曲线变得平滑了许多,显然很正确,就是串口输出的不对,求教这个printf函数用得不对吗?
回复

使用道具 举报

  离线 

2

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2017-5-19
在线时间
108 小时
发表于 2017-9-26 21:28:00 | 显示全部楼层
余一水 发表于 2017-9-26 21:22
我是这样打印出这个z的:printf("%f",z);

但是串口输出是0.000000;

不知道啊,不过你可以分别打印x 、y、和(x*10+y)/10 ,它们打印正常的话,就是别的问题吧
回复

使用道具 举报

  离线 

56

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2017-7-12
在线时间
60 小时
 楼主| 发表于 2017-9-26 21:58:17 | 显示全部楼层
liuliupiaoxue 发表于 2017-9-26 21:28
不知道啊,不过你可以分别打印x 、y、和(x*10+y)/10 ,它们打印正常的话,就是别的问题吧

查了是printf函数的问题,他会将float当成double去处理,怎么解决没找到办法,我再试试,谢谢你
回复

使用道具 举报

  离线 

2

主题

149

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2013-6-5
在线时间
65 小时
发表于 2017-10-21 22:21:37 | 显示全部楼层
余一水 发表于 2017-9-26 21:58
查了是printf函数的问题,他会将float当成double去处理,怎么解决没找到办法,我再试试,谢谢你

float z;
z=((float)(x*10+y)/10.0;
printf("%6.1f",z);
回复

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-11-21 01:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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