如何舍入除法结果

How to round up result of dividing

finalResult = Math.Ceiling(result = (x - y) / (z - 1));

我正在尝试获取整数。 finalResult 和 result 是双倍的。其他都是int。嗯......不工作。 我会很感激一些帮助。谢谢。

为了获得此操作的结果 double,您必须至少创建一个操作数 double(参见 https://msdn.microsoft.com/en-us/library/3t4w2bkb.aspx)。尝试将 'd' 添加到文字:

finalResult = Math.Ceiling(result = (x - y) / (z - 1d));

通过这个小技巧,您可以确保“1”将被视为 double,而不是 int,因此整个操作结果将是 double。 注意:除非你想把这个值四舍五入,否则你应该把四舍五入的方法改成Math.Round()。 注意 2:确保通过检查 if(z != 0).

来防止除以 0

您需要进行类型转换才能使 Math.Ceiling 正常工作。

Decimal finalResult = Math.Ceiling(((Decimal)(x - y)) / (z - 1));

因为x,y,z都是int,所以除法会按整数进行,会被截断

为避免这种情况,只需像这样转换:

finalResult = Math.Ceiling(result = (x - y) / (double)(z - 1));

(我在这里假设你想要四舍五入,所以如果除法的结果是 1.00001,你希望四舍五入的结果是 2.0。)