keil MDK 写的程序,里面一个浮点变量的值,

[复制链接]
432|9
手机看帖
扫描二维码
随时随地手机跟帖
hxdjb|  楼主 | 2023-3-6 10:32 | 显示全部楼层 |阅读模式
正常应该是7.51  可是watch1监测 窗口显示7.40999985,另外一个变量的值是0.96 ,同样watch1监测 窗口显示0.960000038。看起来太费劲,如果直接保留小数点后3位就够了。有哪里可以设置吗?

使用特权

评论回复

相关帖子

ayb_ice| | 2023-3-6 10:42 | 显示全部楼层
"正常应该是7.51  可是watch1监测 窗口显示7.40999985"

7.51不可能显示这个值的

使用特权

评论回复
hxdjb|  楼主 | 2023-3-6 11:35 | 显示全部楼层
本帖最后由 hxdjb 于 2023-3-6 11:40 编辑

不好意思,是我粗心弄错了,正常应该是7.51,监测窗口显示7.50999985。有什么办法让窗口显示值和变量的值一样吗?

使用特权

评论回复
ayb_ice| | 2023-3-6 14:38 | 显示全部楼层
hxdjb 发表于 2023-3-6 11:35
不好意思,是我粗心弄错了,正常应该是7.51,监测窗口显示7.50999985。有什么办法让窗口显示值和变量的值一 ...

浮点数只能表示近似值,除非能控制显示N位小数的功能,但好像没有

使用特权

评论回复
nvjwiciw659| | 2023-3-6 15:56 | 显示全部楼层
放大四舍五入转成整型就行了

使用特权

评论回复
coody| | 2023-3-6 15:59 | 显示全部楼层
7.51不可能显示7.40999985,应该是7.50999985。
你要是明白十进制浮点数的二进制表示原理,就会明白上面的显示问题。

使用特权

评论回复
GlenX| | 2023-3-6 17:42 | 显示全部楼层
将你的数字乘以100,转为整形(四舍五入)Y,然后 Yf*0.01就可以了

使用特权

评论回复
William1994| | 2023-3-6 19:07 | 显示全部楼层
假设我是keil的老板,我做了这个功能,所有的浮点数都只显示小数点后三位。
会不会被其它人揍一顿?

使用特权

评论回复
zyj9490| | 2023-3-6 21:32 | 显示全部楼层
二种显示的格式精度不一样而已。以实际内存值为准啊。

使用特权

评论回复
timerc| | 2023-3-7 08:22 | 显示全部楼层
要不然你就加个做四舍五入的函数,不就可以了么,非得这么强迫症么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

236

帖子

2

粉丝