부동소수점 자료형 float
python 에서 소수점이 포함된 숫자는 기본적으로 float 형이다.
컴퓨터 내부 이진수로 저장하기 때문에 십진수와 다르게
대부분 아래와 같이 근사값으로 저장된다.
>>> 1.5 * 0.009
0.013499999999999998
적당히 반올림해서 쓰면 문제가 없지만,
올림 또는 내림 시 문제가 될 수 있다.
이럴땐 Decimal 을 쓰자
>>> from decimal import Decimal
>>> Decimal('1.5') * Decimal('0.009')
Decimal('0.0135')
참고, nomalize() 로 소수점 뒤 0을 없앨 수 있다.
>>> Decimal('12.34500').normalize()
Decimal('12.345')
댓글 없음:
댓글 쓰기