volume = (4/3 * PI) * (Math.Pow(5, 3));
return volume;
上面的代码应返回523.6,但返回392.7。我无法弄清楚,但可能是我所缺少的愚蠢之举。 将其更改为双重文字并不会解决问题。
答案 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;