정수 두 개를 나눠 소수로 저장하려면?

저는 1/2 하면 0.5가 나올 줄 알았는데 0이 나오더라고요? 정수 두개를 나누면 소수점을 그냥 잘라버리던데

a, b가 int일 때

c = a/b

한 결과로 c가 float이 되게 하려면 어떻게 해야 할까요?

소스코드

a = 1
b = 2
print a/b

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    division 모듈을 import하세요.

    from __future__ import division #파이썬3 이상에서는 불 필요
    
    print 1/2
    

    __future__를 쓰지 않는 경우는 다음과 같이 쓰시면 됩니다. 다만, 이 방법은 TypeError가 발생할 수 있으니 주의해서 쓰세요.

    a = 1
    b = 2
    float(a)/float(b)
    

    과 같이 쓰셔도 됩니다

    *파이썬 3은 알아서 int/int의 결과를 float으로 저장합니다. 따라서 아무 것도 import 할 필요 없고, 형 변환을 해주지 않아도 괜찮습니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.