这种类型的分区是否有名称或内置c#函数

时间:2014-03-07 15:22:21

标签: c# math

我有这种扩展方法,但我不知道是否已有内置运算符或者是否有名称:

public static class IntegerExtensions
{
    public static int DivideWholeAndPartial(this int total, int divisor)
    {
        return (total / divisor) +
               ((total % divisor) == 0 ? 0 : 1);
    }
}

基本上如果总数相等,则返回。如果有任何剩余部分,则将其四舍五入 - 即包括部分整体。有点像“需要多少一升瓶装3.5升水”的问题。

我错过了任何内置的C#方法吗?这有名字吗?

3 个答案:

答案 0 :(得分:5)

我认为Ceiling符合您的要求:

return (int)Math.Ceiling((double)total / (double)divisor);

..但我认为您必须保留扩展方法,因为没有内置方法可以执行此操作。

答案 1 :(得分:2)

我认为分裂和舍入都没有“原子”操作(我可能会滥用这个词)。但是,它的四舍五入部分将是一个天花板功能。 System.Math.Ceiling将是在C#中执行此操作的常规方法:

return (int)Math.Ceiling((double)total / (double)divisor);

答案 2 :(得分:0)

public static class IntegerExtensions
{
    public static int DivideWholeAndPartial(this int total, int divisor)
    {
        return (int)Math.Ceiling((double)total / (double)divisor);
    }
}