float 타입을 다룰 때 주의점: 0.3 문제
float 타입을 다룰 때 한 가지 주의할 점이 있다.
0.1을 세 번 더한 것과 0.3이 같은지 비교하는 연산에 False라는 오답을 내놓는다.
이것은 계산기 하드웨어가 0.3을 정확히 표현하지 못하기 때문에 일어나는 현상이다.
해결법
이를 해결하기 위해서는 파이썬 내장 함수 round()로 반올림 하거나
표준 라이브러리인 math 모듈의 math.isclose() 함수 등을 사용해야 한다.
round(0.3, 1) 의 의미는 0.3을 소수 첫째점 자리에서 반올림 하라는 뜻이다.
math.isclose는 첫 번째 인수와 두 번째 인수가 가까우면 True를 반환한다.
'Python' 카테고리의 다른 글
[Python] *args, **kwargs 란 / 함수 파라미터 설정 시 가변 개수 파라미터 설정하는 법 (0) | 2024.01.15 |
---|---|
[Python] "효율적 개발로 이끄는 파이썬 실천 기술" 책 중요 내용 정리 - 2편 (1) | 2024.01.04 |
[Python] "효율적 개발로 이끄는 파이썬 실천 기술" 책 중요 내용 정리 - 1편 (0) | 2024.01.04 |
[Python/Pytorch] 네트워크 파라미터 수 계산법 / #params 계산법 (0) | 2023.11.17 |
[Python/코테공부] 날짜 비교하기 (0) | 2023.11.06 |