我不确定这两个变量是怎么回事。 “milliV”是双倍的,“param1a”是双倍的,param1a = 65,我应该得到1.588。我得到的结果是 = 0 。怎么可能?
double milliV=0.0;
milliV= (5/1023*param1a/200*1000);
答案 0 :(得分:9)
因为5/1023
是整数除法,所以结果也是整数。试试这个
milliV= (5.0/1023*param1a/200.0*1000);
只要操作的其中一个元素是double
,结果就是double
答案 1 :(得分:5)
5/1023是问题5,1023是整数,所以5/1023 = 0
答案 2 :(得分:4)
它看起来5/1023 = 0,因为5和1023都是整数
尝试将5/1023 * param1a / 200 * 1000更改为
5.0 / 1023.0 * param1a / 200.0 * 1000.0