C#用除法取整
本文关键字:除法 | 更新日期: 2023-09-27 18:28:04
此程序计算一个事件在一段时间内发生的实例数量。问题是,当我得到十进制数字时,程序不会按照我想要的方式四舍五入,例如:如果我除以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,等等。
7/5
是整数除法。它总是四舍五入。您将需要double
/decimal
划分和Math.Ceiling
来取整:
Math.Ceiling(7.0 / 5.0); // return 2.0
如果您的输入值是int
s,则必须将其中至少一个值强制转换为double
Math.Ceiling((double)7 / 5);
正如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();
}