【问题标题】:How to always get a whole number if we divide two integers in c#如果我们在c#中将两个整数相除,如何总是得到一个整数
【发布时间】:2012-11-14 08:24:33
【问题描述】:

我有三个整型变量

  1. Totallistcount
  2. 总页数
  3. 每页计数

假设在初始级别我有这个

Totallistcount = 14;
perpagecount = 9;

现在我有一个公式可以找到可能的总页数

totalpagescount = Totallistcount / perpagecount ;

但是在这种情况下,我在totalpagescount 中得到了1,但我在totalpagescount 中需要2,因为第一页上有9 个项目,其余项目将显示在最后一页,我该怎么做

谢谢,

【问题讨论】:

    标签: c# c#-4.0 c#-3.0 c#-2.0


    【解决方案1】:
    totalpagescount = (Totallistcount + perpagecount - 1) / perpagecount ;
    

    【讨论】:

    • 嘿...我想添加页数,意识到当总页数已经是倍数时它会中断,然后“meh”而不是试图正确地计算出来。
    • +1 这是一个绝妙的主意,我从来没有这样想过......不过我很好奇......这个解决方案和使用 @987654322 之间的性能差异是什么@-like-solution.
    【解决方案2】:

    这是整数除法应该的工作方式,您需要先将其转换为double 才能得到数字,然后使用Ceiling 进行“四舍五入”:

    (int)Math.Ceiling( (double)Totallistcount / perpagecount);
    

    【讨论】:

      【解决方案3】:

      如果要四舍五入,则需要将除法作为浮点数,然后调用Math.Ceiling 得到次大整数。

      double quotient = Totallistcount / (double)perpagecount;
      double ceiling = Math.Ceiling(quotient);
      int totalpagescount = (int)ceiling;
      

      【讨论】:

        【解决方案4】:

        另一种解决方案:

        int pageCount = (records - 1) / recordsPerPage + 1;

        int pageCount = (14 - 1) / 9 + 1; => 页数 = 2

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-29
          相关资源
          最近更新 更多