어제 오늘 내일

[Java Math] rint() 메소드 – 가장 가까운 정수(double) 구하기 본문

IT/Java

[Java Math] rint() 메소드 – 가장 가까운 정수(double) 구하기

hi.anna 2025. 12. 10. 01:00

Math.rint()는 주어진 수와 가장 가까운 정수를 double 형태로 반환하는 메소드입니다.

round()와 비슷하지만, 반환 타입과 반올림 규칙에서 차이가 있습니다.

 

1. 기본 사용법

public class MathRintBasic {
    public static void main(String[] args) {
        System.out.println(Math.rint(3.2));   // 3.0
        System.out.println(Math.rint(3.7));   // 4.0
        System.out.println(Math.rint(-2.3));  // -2.0
        System.out.println(Math.rint(-2.7));  // -3.0
    }
}

항상 double 타입으로 반환됩니다.

 

2. round()와의 차이점

public class MathRintVsRound {
    public static void main(String[] args) {
        System.out.println("rint(2.5)  = " + Math.rint(2.5));
        System.out.println("round(2.5) = " + Math.round(2.5));

        System.out.println("rint(3.5)  = " + Math.rint(3.5));
        System.out.println("round(3.5) = " + Math.round(3.5));
    }
}

실행 결과

rint(2.5)  = 2.0
round(2.5) = 3
rint(3.5)  = 4.0
round(3.5) = 4
  • round()0.5 이상이면 무조건 올림
  • rint()정확히 0.5일 때 가장 가까운 짝수 정수로 반환 (은행가 반올림, Banker's Rounding)

 

3. 활용 예제: 통계 처리에서의 반올림

public class MathRintStats {
    public static void main(String[] args) {
        double[] nums = {2.5, 3.5, 4.5, 5.5};

        for (double n : nums) {
            System.out.println("rint(" + n + ") = " + Math.rint(n));
        }
    }
}

실행 결과

rint(2.5) = 2.0
rint(3.5) = 4.0
rint(4.5) = 4.0
rint(5.5) = 6.0

짝수 쪽으로 반올림되는 걸 확인할 수 있습니다.

 

결론

  • Math.rint()는 가장 가까운 정수를 double로 반환
  • 0.5인 경우 짝수 정수로 반올림하는 점에서 round()와 차이
  • 금융, 통계 분야처럼 특정 반올림 규칙(짝수 선호)을 요구하는 경우에 적합

 
 

반응형
Comments