无法正确计算音量

时间:2018-10-11 22:03:06

标签: c#

volume = (4/3 * PI) * (Math.Pow(5, 3));
return volume;

上面的代码应返回523.6,但返回392.7。我无法弄清楚,但可能是我所缺少的愚蠢之举。 将其更改为双重文字并不会解决问题。

2 个答案:

答案 0 :(得分:5)

4和3都是整数,因此将它们相除会产生一个整数1。这可能不是您期望的值。

在使用3计算商之前,必须将4转换为双精度。

答案 1 :(得分:1)

您也可以将4更改为4.0,因为是的问题是它是整数,所以发生了Integer Division

volume = (4.0/3.0 * PI) * (Math.Pow(5, 3));
return volume;