자바

[JAVA] 숫자 올림 / 반 올림 / 내림 하는 방법

planting grass 2025. 2. 25. 15:23
728x90

코드를 짜다보면 숫자를 올림, 내림처리를 해야할 경우가 종종 있다.

다양한 방법이 있고, 상황에 따라 다르게 써야 할 경우도 있을것이기 때문에 기록을 남긴다.

1. Math 라이브러리

자바 표준 라이브러리에는 Math가 있다.

Math는 수학적인 기능을 수행하는 메서드들을 모아 놓은 클래스라고 보면 된다.

  1. 반올림 (round)
Math.round(float a): int 타입 결과 반환
Math.round(double a): long 타입 결과 반환

예를 들어 Math.round(3.75)는 4를 반환하고, Math.round(3.49)는 3을 반환한다.
// 
  1. 내림 (floor)
Math.floor(double a): double 타입 결과 반환

예를 들어 Math.floor(3.95) 는 3.0을 반환한다.
// 정수로 쓰고 싶으면 int val = (int) Math.floor(3.95); 처럼 형변환을 해주면 된다.
  1. 올림 (ceil)
Math.ceil(double a): double 타입 결과 반환

예를 들어 Math.ceil(3.17)는 4.0을반환한다.
// 정수로 쓰고 싶다면 int val = (int) Math.ceil(3.1); 형식으로 형변환을 한다.

2. BigDecimal 클래스 사용하기

        BigDecimal value = new BigDecimal("123.4567");

        // 소수 둘째 자리까지 반올림
        BigDecimal roundValue = value.setScale(2, RoundingMode.HALF_UP); // 123.46

        // 소수 첫째 자리까지 내림
        BigDecimal floorValue = value.setScale(1, RoundingMode.DOWN);    // 123.4

BigDecimal은 정확한 숫자를 구할때 사용한다.

자세한 내용은 아래 블로그에 기록해 두었다.

2023.01.03 - [자바] - [JAVA] BigDecimal

 

728x90