Please Enable JavaScript!
Gon[ Enable JavaScript ]

자바(Java) 숫자 나누기로 소수점 이하 출력하기

자바(JAVA)
반응형

int double 로 나누기 했을 때 결과값에 소수점 값이 안나오는 경우가 있죠. 이번 예제는 소수점까지 어떻게 구하는지에 대한 설명입니다. 

 

 

 

 

보통 사람들이 5/100 을 하게 되면 0.05 가 나오는지 착각합니다. 리턴받는 변수로 double 을 하더라도 소수점 이하는 나오지 않습니다. Int long 형 변수는 아무리 나누기를 해도 소수점은 없애버리고 정수만 리턴합니다. 소수점이 있는 실수형 값을 받을려면 double 형 변수에 담아야 겠죠.

 

 

소수점을 잃어 버리는 경우는 다음과 같습니다. 결과값은 모두 소수점이 없죠. 세번째 경우도 int 로 캐스팅 했기 때문에 정수만 남았습니다.

 

// 정수만 리턴
iValue =  3 / 100;
System.out.println(iValue);
 
// 정수만 리턴
dValue =  3 / 100;
System.out.println(dValue);
 
// 정수만 리턴
iValue = (int) (3.0 / 100);
System.out.println(iValue);
// 출력값
0
0.0
33

 

 

소수점을 정상적으로 출력하기 위한 방법 입니다. 리턴받을 변수는 double 이어야 하며 어느 숫자이든 하나만 실수형이면 됩니다. 숫자 뒤에 .0 이라고 붙이면 되겠죠. 그리고 두 숫자중에서 하나만 double 로 캐스팅 하셔도 됩니다.

 

// 옳은 결과
dValue = 3.0 / 100.0;
System.out.println(dValue);
 
// 옳은 결과
dValue = 3 / 100.0;
System.out.println(dValue);
 
// 옳은 결과
dValue =  100 / (double) 3;
System.out.println(dValue);
// 출력값
0.03
0.03
33.333333333333336

  

자바(Java) 숫자를 나누기 했을때 소수점 이하로 출력하는 방법

 

※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
자바(Java) 주석 Comments 소스 내에 작성하는 방법
자바(Java) 문자열 구분을 위한 Split 함수 사용하는 방법
자바(Java) 개발을 위한 최신 버전 JDK 다운 받기
자바(Java) 데이터 형변환 char -> String 여러가지 방법
바(Java) 숫자를 나누기 했을때 소수점 이하로 출력하는 방법
반응형
Posted by 녹두장군1
,