如何舍入除法结果
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。)
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)
.
您需要进行类型转换才能使 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。)