做一个程序有一个函数是计算电量的,需要把转数转化用电量
原来是这样写的,
pulse_val->energy =(float)(power_count /pulse_power_config.pulse_config.imp);
这种写法导致energy获取到的电量值,一直是没有小数点
后面改成这样
pulse_val->energy = (float)(power_count) / (float)pulse_power_config.pulse_config.imp;
才解决了问题, 说明了,除法之后,再转为浮点型时,小数点就已经被去掉了.
本文介绍了一个电量计算函数中出现的小数点丢失问题及其解决方案。原代码直接使用整数除法导致结果无法保留小数部分,通过将除数转换为浮点数解决了这一问题。
23万+

被折叠的 条评论
为什么被折叠?



