UFO ET IT

페이지 수를 계산하는 가장 간단한 공식은?

ufoet 2020. 11. 12. 20:41
반응형

페이지 수를 계산하는 가장 간단한 공식은?


배열이 있고 미리 설정된 페이지 크기에 따라 페이지로 나누고 싶습니다.

이것은 내가하는 방법입니다.

private int CalcPagesCount()
{
    int  totalPage = imagesFound.Length / PageSize;

    // add the last page, ugly
    if (imagesFound.Length % PageSize != 0) totalPage++;
    return totalPage;
}

계산이 가장 간단하지 않다고 생각합니다 (저는 수학을 잘 못합니다). 더 간단한 계산 공식을 하나 줄 수 있나요?


강제로 반올림합니다.

totalPage = (imagesFound.Length + PageSize - 1) / PageSize;

또는 부동 소수점 수학을 사용하십시오.

totalPage = (int) Math.Ceiling((double) imagesFound.Length / PageSize);

사실, 당신은 당신이 할 수있는 최선에 가깝습니다. "더 나을 것"이라고 생각할 수있는 유일한 것은 다음과 같습니다.

totalPage = (imagesFound.Length + PageSize - 1) / PageSize;

이것이 더 나은 유일한 이유는 if 문을 피한다는 것입니다.


참고 : 페이지 크기가> 1 인 경우 0 카운트 인 경우에도 항상 1 페이지 이상을 얻을 수 있습니다. 이것은 제가 필요하지만 필요한 것이 아닐 수도 있습니다. 페이지 크기가 1 (어리석지 만 기술적으로 유효 함)이고 개수가 0이면 페이지가 0이됩니다. 필요에 따라 개수 및 페이지 크기가 1 인 0 값을 확인할 수 있습니다.

int pages = ((count - 1) / PAGESIZE) + 1;

OP에 유효한 답변이 있습니다. 페이징을 끄고 싶다면 PageSize = int.MaxValue.

여기에 몇 가지 답변이 PageSize( imagesFound.Length + PageSize)에 추가되어 오버플로가 발생합니다. 그러면 잘못된 결과가 발생합니다.

이것이 제가 사용할 코드입니다.

int imageCount = imagesFound.Length;

// include this if when you always want at least 1 page 
if (imageCount == 0)
{
    return 1;
}

return imageCount % PageSize != 0 
    ? imageCount / PageSize + 1 
    : imageCount / PageSize;

  1. SQL Server에서 총 페이지를 가져올 수 있습니다.
DECLARE @PageCount INT;
DECLARE @NoOfData INT;
SET @NoOfData = (select Count(*) AS [PageCount] from YourTableName)
SET @PageCount=((@NoOfData+@PageSize-1)/@PageSize)
SELECT @PageCount AS [PageCount]
  1. 코드를 입력 할 수 있습니다.
int totalPage = (int) Math.Ceiling((double) imagesFound.Length / PageSize);


페이지 번호 매기기 오류를 방지하려면 noOfPages를 계산하는 가장 좋은 방법은 다음 줄을 수행하는 것입니다.

totalPage = Math.Ceiling(imagesFound.Length / PageSize);

PageSize == imagesFound.Length 일 때 페이지 2를 제공해서는 안됩니다.

참고 URL : https://stackoverflow.com/questions/1611235/the-simplest-formula-to-calculate-page-count

반응형

'UFO ET IT' 카테고리의 다른 글

Android-뒤로 버튼 시뮬레이션  (0) 2020.11.12
하다  (0) 2020.11.12
기본 브라우저에서 OSX Swift 열기 URL  (0) 2020.11.12
document.body.scrollTop Firefox에서 0 반환 : JS 만  (0) 2020.11.12
npm으로 bcrypt 설치 오류  (0) 2020.11.12