没有得到正确的球体体积

Not getting correct volume of sphere

这是我的代码

double inputrad = Convert.ToDouble(Console.ReadLine());
double circlevolume = 4/3 * Math.Pow(circlerad, 3) * Math.PI;

半径为2.5的圆的体积是65,我却变成了49,为什么?

你需要写类似4/3.04.0/34/3d等的东西。否则你正在使用整数除法4/3 这将准确给出 1.

您也可以按照 Dmitry Bychenko 的建议,在应用除法之前更改运算顺序以获得浮点结果:

4 * Math.PI / 3 * Math.Pow(circlerad, 3).

关键是,整数除以整数是整数除法,你绝对需要避免这种情况。

有关更多信息,您可以在此处查看此问答:Why does integer division in C# return an integer and not a float?