如何在C#中将两个整数相除时始终得到一个整数?

5

我有三个整型变量

  1. Totallistcount
  2. totalpagescount
  3. perpagecount

假设在初始级别,我有这个:

Totallistcount = 14;
perpagecount = 9;

现在我有一个公式可以计算可能的总页数。
totalpagescount = Totallistcount / perpagecount ;

在这种情况下,我得到了1totalpagescount,但我需要2totalpagescount,因为第一页有9个项目,其余的项目将显示在最后一页。我该怎么做?
谢谢,
4个回答

16
totalpagescount = (Totallistcount + perpagecount - 1) / perpagecount ;

呃...我想添加页面计数,但意识到当总数已经是倍数时会出现错误,所以我选择了“哎”而不是试图正确解决它。 - Rawling
1
+1 这是一个非常棒的想法,我从未以这种方式考虑过它... 不过我很好奇... 这种解决方案与使用类似 Ceiling 的解决方案相比,性能差异会有多大。 - Vyktor

5
这是整数除法应该的工作方式,您需要先将其转换为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;

1
另一种解决方案:
int pageCount = (records - 1) / recordsPerPage + 1;
int pageCount = (14 - 1) / 9 + 1; => 页面数 = 2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接