Java - 반올림해서 소수점 n번째 자리까지 출력

반올림해서 소수점 n번째 자리까지 출력하는 방법을 소개합니다.

String.format()

가장 간단한 것은 String.format()을 이용하는 방법입니다.

format(format, args)은 인자로 전달된 format에 맞게 문자열을 만들어 리턴해 줍니다.

다음과 같이 format을 "%.6f"로 전달하면 소수점 7번째 자리를 반올림하여 소수점 6번째 자리까지만 표현하라는 의미입니다.

double pi = 3.14159265359;

System.out.println(String.format("%.6f", pi));

결과를 보면 소수점 6번째자리 까지 표현이 됩니다.

3.141593

Math.round()

Math.round()를 이용하여 소수점 n번째 자리까지 출력할 수 있습니다.

round(float a)는 인자로 전달된 float을 가장 가까운 int로 반올림하여 리턴합니다.

System.out.println(Math.round(3.1));
System.out.println(Math.round(2.9));
System.out.println(Math.round(2.5));
System.out.println(Math.round(2.49));

결과를 보면 반올림하여 가까운 int로 리턴되는 것을 알 수 있습니다.

3
3
3
2

다음과 같이 float에 100을 곱한 값을 round()로 반올림하고, 다시 100으로 나누면 소수점 2번째 짜리까지 출력됩니다.

double pi = 3.14159265359;

System.out.println(Math.round(pi * 100));

System.out.println(Math.round(pi * 100) / 100.0);

Output:

314
3.14

위의 코드는 pow()를 이용하여 다음과 같이 함수로 만들 수 있습니다. pow(10.0, n)는 10.0의 n 제곱을 리턴합니다.

double pi = 3.14159265359;
int n = 6;
System.out.println(round(pi, n));


public double round(double number, int n) {
    double m = Math.pow(10.0, n);
    return Math.round(number * m) / m;
}

Output:

3.141593
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha