Java/Simple code

Java 소수점 자릿수 표현하기 3가지 방법

검은고양이개발자 2023. 1. 27. 13:00
반응형

1. System.out.printf("%. 3f") 

 

%.(num)f -> num  숫자에 따라 소수점 num까지 표현

즉, 3이면 소수점 4번째 자리에서 반올림하여 3번째 자리까지 나타낸다.

public class CordJgwow {
    public static void main(String[] args) {

        double n1 = 6.2;
        double n2 = 3.4;
        double result = n1/n2;

        System.out.printf("%.3f",result);
    }
}
//출력
1.824

 

2. String.format()

 

대략적인 구조는 1번과 비슷하지만 String 타입의 참조변수에 담아줘서 출력하는 방식이다.

public class CordJgwow {
    public static void main(String[] args) {

        double n1 = 6.2;
        double n2 = 3.4;
        double result = n1/n2;

        String str = String.format("%.2f", result);

        System.out.println(str);
    }
}
//출력
1.82

 

3. Math.round 이용

 

원래 Math.round는 그냥 해당하는 숫자를 소수점 첫째 자리에서 반올림해주는 메서드인데

이를 활용하여 원하는 소수점 자리까지 값을 나타낼 수 있다.

 

나타내고자 하는 자릿수가 셋째 자리라면, 1000을 곱해준 뒤 Math.round를 해주고

그 뒤 1000.0을 나눠주면 소수점 셋째 자리까지 값을 나타낼 수 있다.

조금만 생각해보면 왜 그런지 이해할 수 있다.

 

만약, 둘째 자리까지 표현하고 싶다면 몇을 곱해야 할까?

 

맞다

 

100을 곱해준 뒤 Math.round를 해준 뒤 그 값을 100.0으로 나눠주면 된다

public class CordJgwow {
    public static void main(String[] args) {

        double n1 = 6.2;
        double n2 = 3.4;
        double result = n1/n2;

        double Number;

        Number = Math.round(result);
        System.out.println(Number);

        Number = Math.round(result * 1000) / 1000.0;
        System.out.println(Number);

    }
}
//출력
2.0

1.824
반응형