[JAVA] 나눗셈하며 소수점 이하 출력하기

Benjamin·2023년 1월 24일
0

JAVA

목록 보기
12/28

5/100을 하면 수학적으로는 0.05이다.
하지만 이렇게 나누면 프로그래밍에서는 정수 0이 return된다.
리턴받는 변수를 double형으로 선언해도 0.05는 반환되지않는다.

int,long형 변수는 아무리 나눗셈을 해도 소수점은 없애고 정수만 리턴한다.

소수점이 제대로 출력되지 않는 예시를 살펴보자.

public static void main(String[] args) {
		int iValue = 3/100;
		System.out.println("iValue: " + iValue);
		
		double dValue = 3/100;
		System.out.println("dValue: " + dValue);
		
		int iValue2 = (int)(3.0/100);
		System.out.println("iValue2: " + iValue2);
}

결과는 아래처럼 나온다.

✏️ 이제 소수점을 정상적으로 출력하기 위한 방법을 보자!

  • 리턴받을 변수는 double형 이어야 한다.
  • 어느 숫자이든 하나이상이 실수형이면 됩니다.(하나도 가능)
    -> 숫자 뒤에 .0 을 쓰든, 숫자 앞에 (double)을 써서 캐스팅을 하든 이건 여러 방법이 있을것이다.

예시를 살펴보자.

public static void main(String[] args) {
		double dValue;
		
		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);
}

참고
https://mainia.tistory.com/2020

0개의 댓글