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);
}
결과는 아래처럼 나온다.
✏️ 이제 소수점을 정상적으로 출력하기 위한 방법을 보자!
예시를 살펴보자.
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);
}