标题: 单片机C语言浮点数计算问题 如何只保留后小数点后两位,相加 [打印本页]

作者: 李冬    时间: 2022-5-31 09:43
标题: 单片机C语言浮点数计算问题 如何只保留后小数点后两位,相加
两个浮点数相加,5.633813     5.255314 如何只保留后小数点后两位,相加

作者: 188610329    时间: 2022-5-31 10:37
高深的方法不会,硬吃的手段如下, 定义整形变量,aa,bb 浮点数乘以100后分别存入aa,bb,相加后存回浮点,再除以100。
作者: 王秋冬    时间: 2022-5-31 10:58
这个技巧简单明了,谢谢2楼。
作者: Hephaestus    时间: 2022-5-31 12:06
你就直接加好了,只利用小数点后面两位。
作者: dreaman    时间: 2022-5-31 12:10
这样是不是没有四舍五入了?
作者: 188610329    时间: 2022-5-31 12:53
dreaman 发表于 2022-5-31 12:10
这样是不是没有四舍五入了?

“保留” 一般是指舍去,需要4舍5入的话,复杂的函数不会,直接简单有效的
作者: hhh402    时间: 2022-5-31 14:15
从数学的角度讲保留一般需要4舍5入的,定义整形变量,aa,bb (浮点数+0.005)乘以100后分别存入aa,bb,相加后存回浮点,再除以100。
作者: yzwzfyz    时间: 2022-5-31 14:23
X的N位小数四舍五入 = INT( X * 10^N + 0.5) / 10^N
作者: wangjinxi    时间: 2022-5-31 22:56
输出时候设置为.2f




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1