본문 바로가기
IT/Java

Int 형 나누기 결과 소수점 n 자리까지 얻어오는법

by 성준하이 2024. 2. 22.
반응형

우선 아래와 같은 코드가 있는데 결과를 먼저 예상해보자.

...
public static void main(String[] args){
     int n1 = 1;
     int n2 = 3;

     System.out.println(n1/n2);
}

 

수학의 나누기와는 다르게 / 는 값만을 가져오기에 0이 출력이 된다.

 

물론 % 를 사용해서 값 + 나머지 를 해도 되지만,

형태를 double로 변경해주면 소수점까지 출력이 된다.

 

...
public static void main(String[] args){
     int n1 = 1;
     int n2 = 3;

     System.out.println( (double) n1/n2);
}

하지만 이러면 무한소수가 나오게 된다.

0.3333333

 

원하는 값이 소수점 n 자리까지라면 아래와 같이 String 클래스의 format 함수를 사용하면된다.

//2자리일 경우 예시

...
public static void main(String[] args){
     int n1 = 1;
     int n2 = 3;

     double n3 = (double) n1/n2;
     String resultValue = String.format("%.2f", n3);

     System.out.println(resultValue);
}
반응형

댓글