어제 오늘 내일

[Java Math] ceil() 메소드 – 올림 처리하기 본문

IT/Java

[Java Math] ceil() 메소드 – 올림 처리하기

hi.anna 2025. 12. 8. 07:19

Math.ceil()주어진 수보다 크거나 같은 가장 작은 정수값double 형태로 반환합니다.

즉, 소수점이 있으면 무조건 위쪽 정수로 올림됩니다.

 

 

1. 기본 사용법

public class MathCeilBasic {
    public static void main(String[] args) {
        System.out.println(Math.ceil(3.2));   // 4.0
        System.out.println(Math.ceil(7.9));   // 8.0
        System.out.println(Math.ceil(-2.3));  // -2.0
        System.out.println(Math.ceil(-7.8));  // -7.0
    }
}

양수는 소수점이 있으면 위 정수로 올라가고, 음수는 소수점이 있어도 값이 덜 음수 쪽으로 이동합니다.

 

2. 정수로 변환해서 쓰기

public class MathCeilInt {
    public static void main(String[] args) {
        double val = 5.1;
        int roundedUp = (int) Math.ceil(val);

        System.out.println(roundedUp); // 6
    }
}

ceil()double을 반환하므로 정수 연산이 필요하다면 intlong으로 캐스팅해야 합니다.

 

3. 활용 예제: 페이지 수 계산

public class MathCeilPagination {
    public static void main(String[] args) {
        int totalItems = 53;
        int itemsPerPage = 10;

        int totalPages = (int) Math.ceil((double) totalItems / itemsPerPage);
        System.out.println("총 페이지 수 = " + totalPages); // 6
    }
}

53개 데이터를 한 페이지에 10개씩 보여주면 6페이지가 필요합니다. ceil()을 이용하면 간단히 계산 가능합니다.

 

4. 활용 예제: 가격 올림 처리

public class MathCeilPrice {
    public static void main(String[] args) {
        double price = 1234.01;

        // 100원 단위로 올림
        int rounded = (int) (Math.ceil(price / 100) * 100);

        System.out.println("결제 금액 = " + rounded); // 1300
    }
}

소비자 결제 금액을 올림해 특정 단위(100원, 1000원)로 맞출 때 사용할 수 있습니다.

 

결론

  • Math.ceil()은 항상 위쪽 정수로 올림
  • 반환 타입은 double, 정수형이 필요하다면 캐스팅 필요
  • 페이지네이션, 가격 계산, 단위 보정에 자주 활용됨

 

 

반응형
Comments