C#:如何使用舍入对整数进行简单的数学运算?

Ian*_*oyd 19 c# math rounding

我希望方程的结果四舍五入到最接近的整数.例如

137 * (3/4) = 103
Run Code Online (Sandbox Code Playgroud)

请考虑以下错误代码.

int width1 = 4;
int height1 = 3;

int width2 = 137;
int height2 = width2 * (height1 / width1);
Run Code Online (Sandbox Code Playgroud)

在C#中执行"整数"数学的正确方法是什么?

我真的必须这样做:

int height2 = (int)Math.Round(
      (float)width2 * ((float)height1 / (float)width1)
   );
Run Code Online (Sandbox Code Playgroud)

Aar*_*ron 16

如上所述,你应该在除法之前进行乘法运算.无论如何,你可以只使用除数来编写你的表达式:

int height2 = (int)Math.Round(width2 * (height1 / (float)width1));
Run Code Online (Sandbox Code Playgroud)