此程序计算事件在一段时间内发生的实例数量。 问题在于,当我得到十进制数时,程序不能满足我的要求,例如:如果我除7/5我得到1,是否有可能获得2? '双'答案产生:1.4。
static void Main(string[] args) {
var kim = 7/5 ;
Console.WriteLine(kim);
Console.ReadKey();
}
我做的任何分工都希望它能够完成。
例如:7/5 = 1.4,但我希望它是2; 5/2 = 2.5,但我希望它是3等等。
答案 0 :(得分:7)
7/5
是整数除法。它将永远向下舍入。您需要double
/ decimal
部门和Math.Ceiling
进行整理:
Math.Ceiling(7.0 / 5.0); // return 2.0
如果您的输入值为int
s,则必须至少将其中一个投射到double
Math.Ceiling((double)7 / 5);
答案 1 :(得分:3)
正如Jakub所说,你可以使用Math.Ceiling
,或者另一种选择是使用模数。如果模数大于0,则意味着有一些余数,因此你想加1,否则你只需加0。
static void Main(string[] args)
{
var kim = 7/5 + (7%5 > 0 ? 1 : 0);
Console.WriteLine(kim);
Console.ReadKey();
}