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

조회수 1454회

저는 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 할 필요 없고, 형 변환을 해주지 않아도 괜찮습니다.

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

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

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.