반응형
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) 주석 Comments 소스 내에 작성하는 방법 ▶ 자바(Java) 문자열 구분을 위한 Split 함수 사용하는 방법 ▶ 자바(Java) 개발을 위한 최신 버전 JDK 다운 받기 ▶ 자바(Java) 데이터 형변환 char -> String 여러가지 방법 ▶ 자바(Java) 숫자를 나누기 했을때 소수점 이하로 출력하는 방법 |
반응형
'자바(JAVA)' 카테고리의 다른 글
자바 Java 다중상속 인터페이스 다루는 방법 (0) | 2023.12.03 |
---|---|
자바(Java) 리스트(List,ArrayList) 이용하는 방법 (6) | 2023.11.23 |
자바(Java) public, private, protected, default 접근 제어자 차이점은 (3) | 2023.10.23 |
자바(Java) 개발을 위한 최신 버전 JDK 다운 받기 (1) | 2023.10.12 |
자바(Java) this, super 키워드, this(), super() 함수 사용하는 방법 (1) | 2023.01.20 |
자바(Java) AWT – Label 오브젝트 사용법과 예제 (0) | 2022.12.28 |
자바 Java 윈도우 위치 찾기 명령어 (1) | 2022.12.25 |
자바(Java) 문자열 구분을 위한 Split 함수 사용하는 방법 (0) | 2022.10.24 |