3

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

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

在此处输入图像描述

4

3 回答 3

9

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

milliV= (5.0/1023*param1a/200.0*1000);

只要操作的要素之一是double,结果也会double

于 2013-06-26T15:11:04.630 回答
5

5/1023 是问题 5,1023 是整数,所以 5/1023 = 0

于 2013-06-26T15:11:59.303 回答
4

看起来 5/1023 = 0 因为 5 和 1023 都是整数

尝试将 5/1023*param1a/200*1000 更改为

5.0 / 1023.0 * param1a / 200.0 * 1000.0
于 2013-06-26T15:12:09.253 回答