자동형변환 질문좀드립니다.(자바입니다)
5/9를 소숫점으로 나타내려 합니다.
double num = 5/9; 이렇게 하려하는데
double의 변수값은 d가 생략되는데 왜 나눗셈만 생략이 않될까요??
5/9에 f,d붙여보니 되더라구요.
55글자 더 채워주세요.
2개의 답변이 있어요!
5/9를 소숫점으로 나타내려 합니다.
double num = 5/9; 이렇게 하려하는데
double의 변수값은 d가 생략되는데 왜 나눗셈만 생략이 않될까요??
5/9에 f,d붙여보니 되더라구요.
이렇게 질문을 하셨는데요
double num = 5.0/9.0;
으로 해보세요
- double num = 5 / 9;
이 식을 좀 더 이해하기 쉽게 바꾸면
double num = (5 / 9);이렇게 되는데, 여기서 5도 int, 9도 int입니다.
5 / 9는 int끼리의 나눗셈 연산이니 1이 되겠죠
그 1을 double num 변수에 형변환 해서 대입한 게 됩니다.
double num = 5.0 / 9;하지만 둘 중 하나만 double이라도 결과물이 double로, 소수점까지 나오게 됩니다.
상수 리터럴만이 아닌 변수를 쓰고 싶으시다면
double num = (double) 분자 / 분모;이렇게 double로 형변환 해서 쓰시면 되겠습니다.