JavaScript中如何判断除法余数编写条件正确计算分页页数
分页总页数正确计算方案
原表达式numberPages: (_numPages / 15).round() + 1存在逻辑漏洞:分页计算只要存在余数就必须多分配1页,和小数部分大小无关,且整除场景下不需要额外加1,否则会多算空页。
条件判断实现(完全匹配需求逻辑)
用取模运算符%判断两数相除是否有余数即可,注意不要用round()做四舍五入,会导致小数部分小于0.5时计算错误:
const pageSize = 15; let numberPages; if (_numPages % pageSize !== 0) { // 存在余数,商取整后加1 numberPages = parseInt(_numPages / pageSize) + 1; } else { // 无余数,直接返回整除结果 numberPages = _numPages / pageSize; }
精简写法(无需显式写判断)
直接调用JS内置的向上取整方法Math.ceil(),逻辑和上述条件判断完全等价,代码更简洁:
numberPages: Math.ceil(_numPages / 15)
- 计算结果验证:
- 总条数15:整除返回1,正确
- 总条数16:有余数返回2,正确
- 总条数29:有余数返回2,正确
- 总条数30:整除返回2,正确
内容的提问来源于stack exchange,提问作者userName
相关产品推荐
相关产品推荐

