双变量会产生意外结果

Fel*_*ceM 3 c# variables

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

  double milliV=0.0;
  milliV= (5/1023*param1a/200*1000);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Cla*_*edi 9

因为5/1023这是一个整数除法,所以结果也是整数.试试这个

milliV= (5.0/1023*param1a/200.0*1000);
Run Code Online (Sandbox Code Playgroud)

只要操作的一个元素是double,结果也是double如此


Gur*_*ron 5

5/1023是问题5,1023是整数,因此5/1023 = 0