C# 数一数需要多少页

C# 数一数需要多少页,c#,C#,如何计算我的数据需要容纳多少页 我得到23行数据,每页20行=2页 当我除以它时,得到1: var pages = totalRows / 20; var pages = totalRows % 20; 当我使用模数时,得到3: var pages = totalRows / 20; var pages = totalRows % 20; 因此,请向我解释我应该使用什么计算方法来解决这个问题。试试看 var pages = (totalRows+19) / 20; 一般而言: var

如何计算我的数据需要容纳多少页

我得到23行数据,每页20行=2页

当我除以它时,得到1:

var pages = totalRows / 20;
var pages = totalRows % 20;
当我使用模数时,得到3:

var pages = totalRows / 20;
var pages = totalRows % 20;
因此,请向我解释我应该使用什么计算方法来解决这个问题。

试试看

var pages = (totalRows+19) / 20;
一般而言:

var pages = (totalRows+rowsPerPage-1) / rowsPerPage;

这相当于进行浮点除法和四舍五入(参见其他答案)

您应该先除法,然后四舍五入,这将导致最后一页的行数少于20行

var pages = (int)Math.Ceiling(totalRows / 20.0);

我喜欢乔伊的回答。但是如果您不想使用
Math.Ceiling
,可以执行以下操作:

int pages = totalRows / 20;
if (totalRows % 20 != 0) { pages += 1; }

这是基于数据库行的,您希望看到每页X行数需要多少页?为什么不先考虑一下您是如何确定需要2页的?Allendar,不。我想浏览一个内容丰富的网站,我需要知道有多少页。这个问题可以也应该用整数算法来解决。因为与此答案不相关的@dialer也发生了同样的事情。当使用
Math.Ceiling
时,任何具有分数分量的除法结果都将被四舍五入。它与此答案相关。每个浮点表示都是近似值。在C#:数学天花板(7.525/1.505)@dialer中评估这一点。在这种情况下,我们根本不处理分数行计数。我要求您,不要提出与此答案不相关的人为示例,而是提出一个值
totalRows
,该值会导致
页面的计算不正确。