已知total、limit和offset,求current_page的计算公式?附示例
计算当前页码(current_page)的公式
根据你给出的示例,能看出来这里的offset是指从第N条数据开始读取(起始计数为0),那计算当前页码的公式非常直观:
current_page = (offset // limit) + 1
或者用数学上的向下取整写法:
current_page = floor(offset / limit) + 1
公式解释
- 第一步用
offset除以limit,得到的是你已经跳过了多少个完整的页面 - 再加1就是当前所在的页码——因为页码是从1开始计数的,而offset是从0开始的
验证你的示例
- 当
offset=0、limit=10时:0//10=0→0+1=1,和你给出的current_page=1一致 - 当
offset=10、limit=10时:10//10=1→1+1=2,对应current_page=2 - 当
offset=20、limit=10时:20//10=2→2+1=3,对应current_page=3
补充个小情况:如果遇到offset不是limit整数倍的场景(比如offset=15、limit=10),用向下取整的方式计算,floor(15/10)=1,加1后得到current_page=2,这也符合分页逻辑——第2页包含从offset10到19的条目,offset15显然属于第2页。
内容的提问来源于stack exchange,提问作者Jamie Aden
相关产品推荐
相关产品推荐

