개발이야기/Java

[Java] 소수점 원하는 자리수 만큼 반올림 하여 출력하기 (Math 클래스)

후린개발자 2023. 8. 8.
반응형

아래 소스 코드는 Math 클래스를 사용하여 입력된 숫자를 지정된 자릿수까지 반올림한 결과를 얻는 코드입니다.

 

Math.round() 함수 : 숫자를 가장 가까운 정수로 반올림하는 기능을 수행합니다.
ex ) Math.round(3.6) //결과 : 4


Math.pow() 함수 : 숫자의 절대값을 구하거나 제곱 값을 계산할 수 있습니다.
ex ) double result = Math.pow(2, 3); //결과 : 8.0

 

계산식은 d를 10의 n제곱만큼 곱하여 소수점 이하 n자리를 정수로 만들고, 정수로 반올림한 값을 다시 10의 n제곱만큼 나눠서 원래 소수 자릿수 형태로 나타 냅니다.

 

public class TT {
    /**
    * <pre>double 형태의 값을 지정된 자릿수까지 반올림하여 반환한다.</pre>
    * 값이 비어있는지 여부를 체크 비어있을경우 0.0 리턴
    * @param d 반올림할 값<br>
    * @param n 반올림할 자릿수<br>
    * @return<br>
    */
    public static double round(double d, int n) {
        double rtn = 0.0;

        if (d == 0) {
            rtn = 0.0;
        }
        rtn = Math.round(d * Math.pow(10, n)) / Math.pow(10, n);
        
        return rtn;
    }
    public static void main(String[] args) throws Exception { 
        double number1 = 123.456789;
        int decimalPlaces1 = 2;
        double roundedNumber1 = round(number1, decimalPlaces1);
        System.out.println("Original Number: " + number1);
        System.out.println("Rounded Number (2 decimal places): " + roundedNumber1);

        double number2 = 789.12345;
        int decimalPlaces2 = 3;
        double roundedNumber2 = round(number2, decimalPlaces2);
        System.out.println("Original Number: " + number2);
        System.out.println("Rounded Number (3 decimal places): " + roundedNumber2);
    }
}

 

 

소스코드 실행 화면

 

반응형

댓글

💲 추천 글