본문 바로가기
  • AI 개발자가 될래요
Python

[Python] float 타입을 다룰 때 주의점

by 꿀개 2024. 1. 4.

float 타입을 다룰 때 주의점: 0.3 문제

 

float 타입을 다룰 때 한 가지 주의할 점이 있다.

 

float 타입 오류

 

0.1을 세 번 더한 것과 0.3이 같은지 비교하는 연산에 False라는 오답을 내놓는다.

 

이것은 계산기 하드웨어가 0.3을 정확히 표현하지 못하기 때문에 일어나는 현상이다.

 

해결법

이를 해결하기 위해서는 파이썬 내장 함수 round()로 반올림 하거나

표준 라이브러리인 math 모듈의 math.isclose() 함수 등을 사용해야 한다.

 

round() 사용

 

round(0.3, 1) 의 의미는 0.3을 소수 첫째점 자리에서 반올림 하라는 뜻이다.

 

math.isclose 사용

 

math.isclose는 첫 번째 인수와 두 번째 인수가 가까우면 True를 반환한다.