双变量会产生意外结果

时间:2013-06-26 15:08:59

标签: c# variables

我不确定这两个变量是怎么回事。 “milliV”是双倍的,“param1a”是双倍的,param1a = 65,我应该得到1.588。我得到的结果是 = 0 。怎么可能?

  double milliV=0.0;
  milliV= (5/1023*param1a/200*1000);

enter image description here

3 个答案:

答案 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