아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
밝은사자290
밝은사자29019.03.16

자동형변환 질문좀드립니다.(자바입니다)

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로 형변환 해서 쓰시면 되겠습니다.